1. 程式人生 > >Kryo java高效序列化框架

Kryo java高效序列化框架

由於最近需要用到一些序列化,然後查了一些資料發現Kryo這個框架比較高效。下面說一下使用的一些注意事項。

在使用kryo時候首先匯入所需的依賴,
<dependency>
    <groupId>com.esotericsoftware</groupId>
    <artifactId>kryo</artifactId>
    <version>3.0.3</version>
</dependency>
注意事項:

序列化需要用到的自定義類都需要有一個無參的建構函式,並且把類的屬性初始化了。否則會報一些異常。

demo
private void serialize(String serName) {
  try {
     FileOutputStream fileOut = new FileOutputStream(serName);
      SomeObject so = new SomeObject();
      Output objectOutput = new Output(fileOut);
      kryo.writeObject(objectOutput, so);
      objectOutput.close();
      fileOut.close();
    } catch
(Exception e) { System.out.println(e); } } private SomeObject unserialize(String serName) { SomeObject so =null; try { FileInputStream fileIn = new FileInputStream(serName); Input input = new Input(fileIn); so = (SomeObject)kryo.readObject(input, SomeObject.class); fileIn.close(); } catch
(Exception e) { e.printStackTrace(); } return so; }