我正在寻找在字节码中实现其内容的 HashMap。这类似于我序列化内容然后读入它。但根据我的经验,序列化只适用于将其保存到文件然后读入,我希望这个实现比这更快。
问问题
202 次
2 回答
3
但根据我的经验,序列化仅适用于将其保存到文件然后读入,我希望这个实现比这更快。
序列化适用于流。具体来说,ObjectOutputStream
可以包装任何OutputStream
. 如果你想执行内存中的序列化,你可以ByteArrayOutputStream
在这里使用。
同样在输入端。
于 2013-01-23T11:19:49.733 回答
0
您可以使用 Java 序列化机制将 HashMap 保存为字节数组
Map map = new HashMap();
map.put(1, 1);
ByteArrayOutputStream bout = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bout);
oos.writeObject(map);
oos.close();
byte[] bytes = bout.toByteArray();
// restore from bytes
ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bytes));
map = (Map) ois.readObject();
System.out.println(map);
输出
{1=1}
并不是 Map 中的键和值都必须是可序列化的,否则它将不起作用
于 2013-01-23T11:29:10.713 回答