前一篇文章我們介紹瞭 Java 中的兩個常見的序列化方式,JDK 序列化和 Hessian2 序列化,本文我們接著來講述一個後起之秀——Kryo 序列化,它號稱 Java 中最快的序列化框架。那麼話不多說,就讓我們來看看這個後起之秀到底有什麼能耐吧。
Kryo 序列化
Kryo 是一個快速序列化/反序列化工具,依賴於字節碼生成機制(底層使用瞭 ASM 庫),因此在序列化速度上有一定的優勢,但正因如此,其使用也隻能限制在基於 JVM 的語言上。
和 Hessian 類似,Kryo 序列化出的結果,是其自定義的、獨有的一種格式。由於其序列化出的結果是二進制的,也即 byte[],因此像 Redis 這樣可以存儲二進制數據的存儲引擎是可以直接將 Kryo 序列化出來的數據存進去。當然你也可以選擇轉換成 String 的形式存儲在其他存儲引擎中(性能有損耗)。
由於其優秀的性能,目前 Kryo 已經成為多個知名 Java 框架的底層序列化協議,包括但不限於
- Apache Fluo (Kryo is default serialization for Fluo Recipes)
- Apache Hive (query plan serialization)
- Apache Spark (shuffled/cached data serialization)
- Storm (distributed realtime computation system, in turn used by many others)
- Apache Dubbo (high performance, open source RPC framework)
- ……
官網地址在:https://github.com/EsotericSoftware/kryo
基礎用法
介紹瞭這麼多,接下來我們就來看看 Kryo 的基礎用法吧。其實對於序列化框架來說,API 基本都差不多,畢竟入參和出參通常都是確定的(需要序列化的對象/序列化的結果)。在使用 Kryo 之前,我們需要引入相應的依賴
<dependency>
<groupId>com.esotericsoftware</groupId>
<artifactId>kryo</artifactId>
<version>5.2.0</version>
</dependency>
-
扫码下载安卓APP
-
微信扫一扫关注我们微信扫一扫打开小程序手Q扫一扫打开小程序
-
返回顶部
Copyright © TaoHigo.com |
2020-2021 |
|
queries in 0.432 s