Ste*_*ose 7 java reflection serialization lego-mindstorms lejos-nxj
我正在开发一款不支持Java反射的Lego Mindstorm NXT机器人.
出于某种原因(并行创建模拟器和实际的头脑风暴),我们希望使用Serialization来交换Java对象.
问题是序列化使用反射,这是思想上的JVM不支持的.
有任何想法吗?
我在Zwong.de上找到了这个页面,但源代码已被删除.
我相信Kryo支持可序列化对象的无反射实例化。快速浏览一下他们的主页似乎证实了这一点:
当无法使用 ReflectASM 或反射时,Kryo 可以配置为使用 InstantiatorStrategy 来处理类实例的创建。Objenesis 提供 StdInstantiatorStrategy,它使用 JVM 特定的 API 来创建类的实例,而无需调用任何构造函数。这适用于许多 JVM。
听起来您需要创建自己的 JVM InstantiatorStrategy,因为我不确定标准的 JVM 是否支持 NXT JVM - 不过值得一试!我自己没有尝试过,但听起来理论上应该是可能的。