我正在使用Hazelcast的地图:
//当我这样做时:
map.put(gen.newId(), myObject);
myObject是一个非常复杂的对象,并不实现Serializable。
我认为如下所示放置配置就足以实现无序化了:
<map name="myMap">
<in-memory-format>OBJECT</in-memory-format>
</map>
Hazelcast医生说: http://docs.hazelcast.org/docs/3.5/manual/html/entryprocessor.html “当它作为对象存储(OBJECT格式)时,则直接在对象上应用条目处理器。在这种情况下,不执行序列化或反序列化”
感谢您的任何建议。
答案 0 :(得分:4)
不幸的是,无论内存格式如何,都会在调用map.put时反序列化对象。这是因为通常有备份,他们也需要收到副本。所以在这种情况下,你唯一的出路就是让你的对象可以序列化#39;您可以使用Java序列化,但您也可以依赖Kryo之类的东西来处理复杂的对象图。
答案 1 :(得分:1)
我认为您还可以使用更有效的榛子特定解决方案。 Here是解决方案的比较表。便携式设备一直在为我工作,但对于大型物体的实施和维护是一件痛苦的事。 DataSerializable是一个更简单的解决方案,看起来很像Android中的Parcelable。