序列化的uid号增加要发送的字节数组的大小



我想发送bytesarray,具有6个字段(char, boolean[], char, byte[], int, and byte)。每个字段都有一个定义的大小,因此bytesarray必须具有与5个字段之和相同的大小限制。

我的问题是:数字序列化uid增加了我的bytes array发送的最终大小?(如果答案是肯定的,我必须找到另一种方法来转换bytesarray)

谢谢。

快速回答,是的默认的Java序列化机制确实在它输出的字节中包含串行版本id(并期望在它读取它时返回)。完整的细节在这里http://www.javaworld.com/community/node/2915,它也包括其他东西。

您可以通过实现Externalizable来覆盖此行为,参见http://geekexplains.blogspot.co.uk/2008/05/externalizable-in-java-what-is-it-used.html。

您可能更喜欢使用像protobuf或msgpack这样的库。

最新更新