我不明白为kryo序列化注册一个类是什么意思。 为了给出一些背景知识,link在这里说
Kryo不支持所有Serializable类型,并且要求您提前注册您将在程序中使用的类以获得最佳性能。
同样,我不明白注册课程的含义是什么?序列化代码不是静态的,因为您应用相同的逻辑来序列化所有类型的对象。如何在高级中提及将被序列化的类在以后有用?
谢谢!
答案 0 :(得分:2)
Kyro docs提及预先注册是不必要的,但是在第一次遇到类时性能提高,不需要序列化类的名称;可以使用在注册期间生成的,这也导致使用的字节更少。
摘录:
当Kryo写出一个对象的实例时,首先它可能需要写出一些标识对象类的东西。默认情况下,将写入完全限定的类名,然后写入对象的字节。使用可变长度int写入同一对象图中的该对象类型的后续外观。编写类名有点效率低,因此可以事先注册类: