我试图通过从 Serializable 接口切换到 Externalizable 来提高我们当前的序列化性能,但是没有找到很多关于创建自定义和高性能序列化的最佳实践的文档。我目前的解决方案大约是现有 Java 序列化的两倍,虽然不错,但似乎并没有我所期待的巨大改进(序列化技术/库的基准)
对于除了原语之外的任何东西,我都采用了写入 0 或 1 来显示该字段存在的方法,然后如果值为 1 则读取该字段:
if (in.read() == 1) {
name = in.readUTF();
}
那个听起来是对的吗?有更好的编码可以使用吗?地图、列表和其他复杂的数据结构呢?枚举的默认序列化是否正常?
谢谢。