1. 程式人生 > >kryo序列化反序列化例項

kryo序列化反序列化例項

Kryo:快速、高效的序列化框架

Kryo是一個快速高效的Java序列化框架,旨在提供快速、高效和易用的API。無論檔案、資料庫或網路資料Kryo都可以隨時完成序列化。Kryo還可以執行自動深拷貝(克隆)、淺拷貝(克隆)。這是物件到物件的直接拷貝,非物件->位元組->物件的拷貝。

一、引用依賴包

二、使用例項

建立一個例項=體類

public class User {
    private String name;
    private String sex;
    private int age;
    private Map<?, ?> map;
    //get And set ......
}

序列化測試

public static void test() throws FileNotFoundException{
        //建立物件
        User obj = new User();
        obj.setName("張三");
        Map<String, String> map=new HashMap<>();
        map.put("key", "value");
        obj.setMap(map);

        //寫入
        Kryo kryo = new Kryo();
        Output output = new
Output(new FileOutputStream("D:/file.bin")); kryo.writeObject(output, obj); output.close(); //讀取 Input input = new Input(new FileInputStream("D:/file.bin")); User user = kryo.readObject(input, User.class); input.close(); System.out.println(user.getName()); System.out
.println(user.getMap().get("key")); }

是不是很簡單,很好用。而且實體類也不用繼承Serializable。

Demo下載

相關推薦

kryo序列序列例項

Kryo:快速、高效的序列化框架 Kryo是一個快速高效的Java序列化框架,旨在提供快速、高效和易用的API。無論檔案、資料庫或網路資料Kryo都可以隨時完成序列化。Kryo還可以執行自動深拷貝(克隆)、淺拷貝(克隆)。這是物件到物件的直接拷貝,非物件-&g

MessagePack 新型序列序列方案

only program next sel ges new sys adf 簡介 進入在學習redis的時候,在文中看到了關於MessagePack的簡介,發現非常有意思,於是就花了點時間大致了解了下。 MessagePack介紹: MessagePack is an ef

10.8-全棧Java筆記:序列/序列的步驟和實例

java 本節我們詳細講解10.3節中提到的序列化和反序列化操作。序列化和反序列化是什麽當兩個進程遠程通信時,彼此可以發送各種類型的數據。 無論是何種類型的數據,都會以二進制序列的形式在網絡上傳送。比如,我們可以通過http協議發送字符串信息;我們也可以在網絡上直接發送JAVA對象。發送方需要把這個Java對

測試了下boost的序列序列功能

con != bar lan class try hat out ora [cpp] view plain copy // testSerialization.cpp : Defines the entry point for the console

.NET Core protobuf-net、MessagePack、Json.NET序列/序列性能測試

img alt int 序列化 james 最優 5.1 out mar 測試代碼Zonciu/SerializationTest.cs, 源自neuecc/ZeroFormatterBenchmark.cs。 NuGet包及其版本 mgravell/protobuf-ne

深入JAVA序列序列

轉換 zed 一個 源代碼 () bili 什麽 知識點 dom 前言 java序列化與反序列化應該是非常基本的知識點,但細想起來還是一頭霧水, 不知道序列化與反序列化到底底層是如何實現的,所以特意花了些時間整理這篇文章。 所以你如果還只是停留在使用和知道這麽一個知

文件操作,路徑操作,StringIO和BytesIO,序列序列,正則表達式與python中使用

基於 關系 判斷目錄 java、 優先 errors 情況下 water des 文件操作 打開操作open(file, mode=‘r‘, buffering=-1, encoding=None, errors=None, newline=None, closefd=Tr

Google Protobuf——實現跨平臺跨語言的序列/序列

Google Protobuf——實現跨平臺跨語言的序列化/反序列化 0 Overview Google Protocol Buffer 是一個平臺無關、語言無關的結構化資料的序列化與反序列化工具。 1 Establish dev environment wget http:

Python json序列 序列,map,reduce,filter

import json # 序列化 反序列化 print(dir(json)) d1=dict(name='小米',age=2,score=99) print(d1) strs=json.dumps(d1) print(strs) d2=json.loads(strs) print(d2)

[leetcode]449. Serialize and Deserialize BST序列序列化二叉搜尋樹(儘量緊湊)

Serialization is the process of converting a data structure or object into a sequence of bits so that it can be stored in a file or memory buffer, or trans

二進位制流序列(序列)和XML序列(序列)

序列化(Serialization):序列化是將物件狀態轉換為可儲存或傳輸的其它資料格式的過程。 反序列化(Deserialization) :與序列化相對的是反序列化,將其它資料格式轉換為物件的過程。 作用:將物件中的資料轉換成其它檔案,方便資訊的儲存與交換。  .NET

92 序列 序列

主要內容: 1 反序列化(post請求)   a : 提交post請求, 先確定新增的資料結構,   b: 解決序列化和反序列化的欄位不統一的情框(序列化器中有的欄位, 要序列化的欄位必須有.)     required = False, 只序列化, 不走校驗     read_only: 

92 序列 序列

clas att ida 統一 print -c 更新數據 參數 eth 主要內容: 1 反序列化(post請求)   a : 提交post請求, 先確定新增的數據結構,   b: 解決序列化和反序列化的字段不統一的情框(序列化器中有的字段, 要序列化的字段必須有.)   

DRF序列/序列

反序列化(不推薦版):兩個欄位 一個為正序準備,一個為反序準備重寫create update方法 1. 確定資料結構: 自己定義key book_obj = { "title": "語文sadasd", "pub_time": "2018-11-14",

0016-Avro序列&序列和Spark讀取Avro數據

ron ace raft 轉換 import 系統 提示 文章 offset 溫馨提示:要看高清無碼套圖,請使用手機打開並單擊圖片放大查看。 1.簡介 本篇文章主要講如何使用java生成Avro格式數據以及如何通過spark將Avro數據文件轉換成DataSet和Data

http請求/restful/序列序列/JSON

1.為什麼要實現Serializable (1)將記憶體中的物件資料存在磁碟中持久化 (2)將物件從一個應用程式傳送到另一個應用程式 實現Serializable介面可以把物件序列化為位元組流,實現傳輸必須實現序列化。 使用時將位元組流反序列化為物件,應用其建立的副本。   2.為什

PHP OOP 物件的序列 序列

基本介紹   所謂的物件序列化是指:將一個物件轉化成一個字串,這個字串包括 屬性 屬性名,屬性值,屬性型別,和該物件對應的類名。簡單的說明就是把一個物件的書和資料型別轉成字串; <?php header("content-type:text/html;charset=utf-

hive的三板斧:內部表和外部表、分割槽和分桶以及序列/序列(SerDe)

hive的三板斧:內部表和外部表、分割槽和分桶以及序列化/反序列化(SerDe)   Hive是Hadoop生態圈中實現資料倉庫的一項技術。雖然Hadoop和HDFS的設計侷限了Hive所能勝任的工作,但是Hive仍然是目前網際網路中最適合資料倉庫的應用技術。 不論從“品相還是舉止

Java 知識點整理-17.IO流 其他流 序列流+序列+序列+記憶體輸出流+物件操作流+列印流+標準輸入輸出流+鍵盤錄入方式+隨機訪問流+資料輸入輸出流+Properties

目錄 序列流 記憶體輸出流 記憶體輸出流的面試題 物件操作流ObjectOutputStream 物件操作流ObjectInputStream 物件操作流優化 序列化加上id號 列印流的概述和特點 標準輸入輸出流概述和輸出語句 修改標準輸入輸出流拷貝圖片

MapReducer糾錯之序列序列問題

在MapReducer程式設計中經常會出現序列化反序列化的說法 在這裡解釋一下 序列化:序列化的意思就是把記憶體中的物件變成位元組儲存到磁碟上 反序列化:反序列化的意思就是把磁碟上的物件活化到記憶體中 說到這裡也許還是沒有說清楚序列化的意思,在大資料中,假設有一個非常大的叢集,也