我有一个类似图的对象,该对象从服务器发送到客户端,其中包含具有nodesadjacencyLists

我有类似的东西:

Clearing c1 = new Clearing(1, 134, 151);
Clearing c6 = new Clearing(6, 250, 88);

c1.adjacentByPath.add(new Path(1, c6));
c6.adjacentByPath.add(new Path(1, c1));

每次我发送包含这些清除的对象时,都会收到以下错误:
Exception in thread "Server" java.lang.StackOverflowError
at com.esotericsoftware.kryo.Kryo.getRegistration(Kryo.java:448)
at com.esotericsoftware.kryo.util.DefaultClassResolver.writeClass(DefaultClassResolver.java:79)
    ......

在Kryonet中有解决方法吗?谢谢

最佳答案

答案很晚,但是最近我遇到了这个问题,并且能够复制和修复。

每当在kryo序列化中使用大对象图时,就会发生这种情况。



Esoteric software documentation which developed Kryo建议的-Xss1m(或根据您的要求增加)

非常大的对象图:



针对Apache Spark + Kryo用户的Imp注释:

关于使用Kryo序列化具有相互引用的对象时的java.lang.StackOverflowError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28640543/

10-10 13:38