use*_*111 1 java arrays serialization bytebuffer object
我正在尝试使用Kryo将对象读/写到磁盘:http://code.google.com/p/kryo/
情侣问题:
如何确定字节缓冲区的大小?如果我把它做得太小就会崩溃,太大会占用大量的内存,文件也很庞大.跟进,不应该知道kyro已经知道对象有多大,因为它是序列化的对象吗?
有什么方法可以将它们从ByteBuffer转换为字节数组并返回?
任何人都可以使用Kyro快速有效地读取/写入文件对象?我的令人讨厌的xml快了大约100倍(包括解析,而不仅仅是i/o)根据基准测试没有意义.我尝试使用ByteBuffer写入FileChannel.
你实际上根本不需要捣乱ByteBuffer,你可以使用com.esotericsoftware.kryo.ObjectBuffer
假装你有一个MyObject你要序列化的类;
MyObject o = new MyObject();
Kryo kryo = new Kryo();
kryo.register(MyObject.class);
ObjectBuffer ob = new ObjectBuffer(kryo);
byte[] myByteArray = ob.writeObject(o);