gpt4 book ai didi

java - Kryo 序列化类型检测

转载 作者:行者123 更新时间:2023-11-30 04:00:40 25 4
gpt4 key购买 nike

我直接使用 Kryo IO 来执行我自己的字符串、长整型和 double 型的低级原始序列化。

我想知道的是,Kryo IO 是否有任何方法可以在读回序列化字节时自动检测它们的原始数据类型?

如果我有一个包含 10 个序列化值的字节数组,并且我不知道它们是字符串、长整型还是 double 型; Kryo 有什么方法可以确定数据类型(如 MsgPack 可以)吗?

最佳答案

Kryo 在这方面与普通的 Java 序列化没有什么不同。反序列化器可以通过两种方式知道每次反序列化的类型:

  1. 它是已知类中的字段,因此反序列化器实现按正确的顺序读取每个字段。

  2. 流中以某种方式嵌入了类型信息以使其知道。 Kryo 中的 writeClassAndObject() 方法就是这样做的 - 它在实际对象内容前面添加一个紧凑的类标识符,让反序列化器知道要做什么。

    或者,您可以手动执行类似的操作,例如通过发送一个字节来在有限数量的支持类型中进行选择。

此外,这就是 MessagePack 的内容。也格式化命令...

关于java - Kryo 序列化类型检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22079054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com