【发布时间】:2012-04-20 16:30:27
【问题描述】:
我正在尝试通过从 Serializable 接口切换到 Externalizable 来提高我们当前的序列化性能,但还没有找到很多关于创建自定义和高性能序列化的最佳实践的文档。我当前的解决方案大约是普通 Java 序列化的两倍,虽然不错,但似乎并没有我期待的巨大改进 (Benchmark of serialization techniques/libraries)
对于除原语之外的任何内容,我都采用了写入 0 或 1 来显示字段存在的方法,然后如果值为 1,则读取该字段:
if (in.read() == 1) {
name = in.readUTF();
}
这听起来对吗?有更好的编码可以使用吗?地图、列表和其他复杂的数据结构呢? Enums 的默认序列化是否正常?
谢谢。
【问题讨论】:
标签: java performance serialization