Kryo java高效序列化框架

由于最近需要用到一些序列化,然后查了一些资料发现Kryo这个框架比较高效。下面说一下使用的一些注意事项。

在使用kryo时候首先导入所需的依赖,

jar包下载地址> http://download.csdn.net/detail/tingibandequ/9537961
或者在pom文件中加入:

<dependency>
    <groupId>com.esotericsoftwaregroupId>
    <artifactId>kryoartifactId>
    <version>3.0.3version>
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;
  }

你可能感兴趣的:(java)