在我的应用程序中,我需要序列化自定义集合类型的数组:
IntList[] collections; // need to be serialized
由于我们使用的编码环境的性质,我不能依赖 3rd 方或任何 Java 内置包来进行序列化,而必须自己执行。
我能想到的最好方法是将它全部存储在一个大字节数组中,在序列化之前对每个元素的长度进行编码。
例如,对于如下所示的集合数组:
| 0 | (1, 6, 3, 7)
| 1 | (7, 2, 4, 6)
| 2 | ( 1 )
将被序列化为:
4 (length of collection at 0) followed by the elements
4 (length of collection at 1) followed by the elements
1 (length of collection at 2) followed by the elements
是否有更好的选择可以优化序列化所需的数据大小?