比protostuff还快的序列化类库Serial_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 比protostuff还快的序列化类库Serial

比protostuff还快的序列化类库Serial

 2022/5/9 0:27:54  lujintao  程序员俱乐部  我要评论(0)
  • 摘要:该类库实现了对象的快速序列化/反序列化,专门为java语言打造,后续会支持其它语言。小巧,序列化后的字节流占用空间比protostuff小,平均为kyro的三分之二大小处理速度快,序列化/反序列化综合速度为protostuff的1.5倍API调用方便支持循环引用支持java的所有类型,包括枚举、多维数组支持没有无参构造方法的类无侵入设计,使用中无需做任何其它配置,只需序列化方/反序列化方类属性的顺序相同线程安全支持序列化/反序列化的时候类属性不完全一致
  • 标签:RIA 序列化

该类库实现了对象的快速序列化/反序列化,专门为java语言打造,后续会支持其它语言。

  1. 小巧,序列化后的字节流占用空间比protostuff小,平均为kyro的三分之二大小
  2. 处理速度快,序列化/反序列化综合速度为protostuff的1.5倍
  3. API调用方便
  4. 支持循环引用
  5. 支持java的所有类型,包括枚举、多维数组
  6. 支持没有无参构造方法的类
  7. 无侵入设计,使用中无需做任何其它配置,只需序列化方/反序列化方类属性的顺序相同
  8. 线程安全
  9. 支持序列化/反序列化的时候类属性不完全一致,但是要求反序列化的时候定义的类属性必须包含序列化时定义的类属性,可以新增属性,新增属性要求在原有属性末尾添加??

? ?Demo:

class="notranslate">monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace; font-size: 13.6px; padding: 0px; margin: 0px; background: transparent; border-radius: 6px; border: 0px; display: inline; overflow: visible; line-height: inherit;">    ByteArrayOutputStream output = new ByteArrayOutputStream();
    //序列化对象
    Serial.write(originalValue,output);
    output.close();

    ByteArrayInputStream input = new ByteArrayInputStream(output.toByteArray());
    Object obj = null;
    try {
        //反序列化
        obj = Serial.read(input);
    } catch (Exception e) {
        e.printStackTrace();
    }finally {
        input.close();
    }
    

git地址:  https://github.com/lujintao2000/serial_pro
发表评论
用户名: 匿名