Emi*_*mil 4 java serialization protocol-buffers
我有一个大型数据结构,我正在序列化.在某些时候我需要编辑数据结构中的值.但是只是为了更改一个小值我将不得不再次重新序列化它而不是更新更改文件中的值.我听说过谷歌协议缓冲区.用它会解决我重写文件的问题吗?对我来说,使用协议缓冲区而不是Java序列化是一个更好的选择吗?
协议缓冲区本身就是一种序列化格式,因此它们不会从根本上改变图像(在更改值后仍需要重新序列化).
Google的文档声称协议缓冲区比XML更紧凑,解析速度更快(这似乎是合理的); 不知道它们与本机Java序列化的比较.
协议缓冲区的优点可能是可移植性(如果用其他语言编写的程序需要读取文件)和可升级性(可以在不破坏文件格式的情况下向数据结构中添加新字段).