• 深刻浅出序列化(2)——Kryo序列化

    2022-01-13
  • 这篇文章主要向大家介绍深刻浅出序列化(2)——Kryo序列化,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

    前一篇文章咱们介绍了 Java 中的两个常见的序列化方式,JDK 序列化和 Hessian2 序列化,本文咱们接着来说述一个后起之秀——Kryo 序列化,它号称 Java 中最快的序列化框架。那么话很少说,就让咱们来看看这个后起之秀到底有什么能耐吧。java

    Kryo 序列化

    Kryo 是一个快速序列化/反序列化工具,依赖于字节码生成机制(底层使用了 ASM 库),所以在序列化速度上有必定的优点,但正因如此,其使用也只能限制在基于 JVM 的语言上。git

    网上有不少资料说 Kryo 只能在 Java 上使用,这点是不对的,事实上除 Java 外,Scala 和 Kotlin 这些基于 JVM 的语言一样可使用 Kryo 实现序列化。github

    和 Hessian 相似,Kryo 序列化出的结果,是其自定义的、独有的一种格式。因为其序列化出的结果是二进制的,也即 byte[],所以像 Redis 这样能够存储二进制数据的存储引擎是能够直接将 Kryo 序列化出来的数据存进去。固然你也能够选择转换成 String 的形式存储在其余存储引擎中(性能有损耗)。apache

    因为其优秀的性能,目前 Kryo 已经成为多个知名 Java 框架的底层序列化协议,包括但不限于