将对象部分序列化为字节数组

时间:2014-07-11 21:32:18

标签: java objectoutputstream

我正在设置一个哈希函数,它接受一个对象的MD5并对应对象的前四个字节以防止冲突。这些对象可能非常大,所以我宁愿避免序列化整个对象。我能做到这一点的空间/时间最有效的方法是什么?

我一直在看ObjectOutputStream,虽然看起来有部分写入功能,但似乎要求我已经将对象转换为字节数组。

1 个答案:

答案 0 :(得分:2)

  

我正在设置一个哈希函数,它接受一个对象的MD5并对应对象的前四个字节以防止冲突。

但是,添加对象的前四个字节 将不会 来防止冲突。它们并不是唯一的。 MD5几乎肯定足够强大。

  

这些对象可能非常大,所以我宁愿避免序列化整个对象。我能做到这一点的空间/时间最有效的方法是什么?

     

我一直在关注ObjectOutputStream,虽然看起来有部分写入函数,但似乎要求我已经将对象转换为字节数组。

您不会轻易通过序列化获取对象的前四个字节,因为首先要导航流标题,序列化协议标记等。不是说有任何意义。

重新评论,“防止碰撞”和“节省空间”是相反的目标。

你不需要这个。