要增强群集中的消息传递,重要的是要在运行时了解消息的大小(我应该更喜欢处理本地消息还是远程消息).
我可以找到基于java检测估计对象内存大小的框架.我测试了classmexer,它没有接近序列化大小和sourceforge SizeOf.
在一个小的测试用例中,SizeOf错误大约10%,比序列化快10倍.(仍然瞬态完全破坏了估计,因为例如ArrayList是瞬态的,但是被序列化为数组,修补SizeOf并不容易.但我可以忍受这种情况)
另一方面,10%的误差和10%的误差似乎不太好.任何想法我怎么能做得更好?
更新:我还测试了ObjectSize(http://sourceforge.net/projects/objectsize-java).结果似乎只适合非继承对象:(