当前位置: 首页 > 面试题库 >

Kryo序列化库:是否在生产中使用?

巫马俊力
2023-03-14
问题内容

Kryo是一个非常新的有趣的Java序列化库,并且是节俭的protobuf基准测试中最快的库之一。如果您使用过Kryo,它是否已经成熟到可以在生产代码中试用的程度?

更新(10/27/2010): 我们正在使用Kryo,尽管尚未投入生产。请参阅下面的详细信息。

更新(3/9/2011): 更新到最新的Jackson和Kryo​​库表明,Jackson的二进制Smile序列化非常有竞争力。


问题答案:

有一个错误报告和一个讨论线程。Kryo随附的DateSerializer在大小上比SO上发布的SimpleSerializer实现稍微有效,因为它使用针对正值进行了优化的LongSerializer。

编辑:我忘了回答原始问题。我相信至少在一些生产系统中使用了Kryo。本文提到了Jive
SBS缓存重新设计:第3部分
。在“
毁灭所有人”项目中,Kryo用于与充当机器人大脑的Android手机进行通信(此处为视频)。

不是直接的答案,但是您可以浏览Kryo源代码和/或javadocs。在Kryo类上检查read
和write 方法,然后查看Serializer类。这确实是库的核心。



 类似资料:
  • 我正在尝试使用kryo序列化和反序列化到二进制。我想我已经完成了序列化,但似乎无法反序列化。下面是我正在处理的代码,但最终我想存储一个字节[],然后再次读取它。文档只显示了如何使用文件。

  • 我对Kafka和克里奥很陌生。我一直在使用默认的Kafka序列化器处理Kafka上的简单字符串消息,但我试图使用Kryo序列化,但没有成功。 谁能解释一下或者给我看一个用kryo序列化(生产者和消费者)通过Kafka发送java对象的例子吗?

  • 我用这个打开了kryo连载: 我希望确保当在节点之间洗牌时,使用kryo对自定义类进行序列化。我可以通过以下方式向kryo注册该类: 但这会导致IllegalArugmentException被抛出(“class未注册”),用于我假设Spark在内部使用的一系列不同类,例如: 当然,我不必用Kryo手动注册这些单独的类?这些序列化程序都是在kryo中定义的,那么有没有一种方法可以自动注册所有的序列

  • 启用Kryo和FST 使用Kryo和FST非常简单,只需要在dubbo RPC的XML配置中添加一个属性即可: <dubbo:protocol name="dubbo" serialization="kryo"/> <dubbo:protocol name="dubbo" serialization="fst"/> 注册被序列化类 要让Kryo和FST完全发挥出高性能,最好将那些需要被序列化的

  • 我在程序中使用,需要序列化内核以便以后重用它们。 为此,我使用: 如何定义必须使用?