来看一个jute序列化,反序列化的例子

首先创建一个实例

public class MockReqHeader implements Record {private long sessionId;private String type;public MockReqHeader() {}public MockReqHeader(long sessionId, String type) {this.sessionId = sessionId;this.type = type;}//... get set method@Overridepublic void serialize(OutputArchive outputArchive, String s) throws IOException {outputArchive.startRecord(this, s);outputArchive.writeLong(sessionId, "sessionId");outputArchive.writeString(type, "type");outputArchive.endRecord(this, s);}@Overridepublic void deserialize(InputArchive inputArchive, String s) throws IOException {inputArchive.startRecord(s);sessionId = inputArchive.readLong("sessionId");type = inputArchive.readString("type");inputArchive.endRecord(s);}
}

上面这个类反应了jute的序列化,反序列。大致有几个点需要注意下:

  • 实例类实现了Record接口的serialize、deserialize的方法
  • 构建一个序列化器OutputArchive
  • 序列化
  • 反序列化

运行一下看看

        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();BinaryOutputArchive binaryOutputArchive = BinaryOutputArchive.getArchive(byteArrayOutputStream);new MockReqHeader(666, "ok").serialize(binaryOutputArchive, "header");//这里通常是网络传输ByteBuffer byteBuffer = ByteBuffer.wrap(byteArrayOutputStream.toByteArray());//反序列化ByteBufferInputStream byteBufferInputStream = new ByteBufferInputStream(byteBuffer);BinaryInputArchive binaryInputArchive = BinaryInputArchive.getArchive(byteBufferInputStream);MockReqHeader header = new MockReqHeader();header.deserialize(binaryInputArchive, "header");byteBufferInputStream.close();byteArrayOutputStream.close();

Jute 序列化 反序列化相关推荐

  1. 用 XStream 序列化/反序列化 XML 为 Java 对象(实例)

    用 XStream 序列化/反序列化 XML 为 Java 对象(实例) Posted on 2007-06-05 19:06 Stephen Wong 阅读(1224) 评论(0)  编辑 收藏 网 ...

  2. Redis Template使用append方法不起作用的解决办法以及序列化/反序列化的解释

    今天使用Redis Template进行测试发现的问题, 遇到这个错 org.springframework.data.redis.serializer.SerializationException: ...

  3. 序列化反序列化api(入门级)

    定义: java序列化是指把Java对象转换为字节序列的过程:而Java反序列化是指把字节序列恢复为Java对象的过程. 为什么字符串通常也会进行序列化? 对象需要进行序列化的原因:保证对象的状态不变 ...

  4. 敏捷中gwt含义_在GWT中序列化/反序列化Json

    敏捷中gwt含义 JSON和GWT 最近, GWT用户小组中进行了有趣的讨论 ,涉及在客户端对JSON进行序列化/反序列化的最佳实践. 这篇文章旨在突出其重点. 到目前为止,在GWT中有三种将对象转换 ...

  5. 在GWT中序列化/反序列化Json

    JSON和GWT 最近, GWT用户小组中进行了有趣的讨论 ,涉及在客户端对JSON进行序列化/反序列化的最佳实践. 这篇文章旨在突出其重点. 到目前为止,在GWT中有三种将对象转换为JSON并从客户 ...

  6. Java 序列化反序列化框架比较

    文章目录 一.简介 二.序列化框架 1.JDK 2.XML序列化 3.JSON序列化 4.Hessian 5.Avro序列化 6.Kyro序列化 7.Protostuff 三.序列化框架对比测试 1. ...

  7. 高效的序列化/反序列化数据方式 Protobuf

    高效的序列化/反序列化数据方式 Protobuf github地址 目录 protocolBuffers 序列化 Int32 String Map slice 序列化小结 protocolBuffer ...

  8. 10.8-全栈Java笔记:序列化/反序列化的步骤和实例

    本节我们详细讲解10.3节中提到的序列化和反序列化操作. 序列化和反序列化是什么 当两个进程远程通信时,彼此可以发送各种类型的数据. 无论是何种类型的数据,都会以二进制序列的形式在网络上传送.比如,我 ...

  9. 【Java】用Jackson进行JSON序列化/反序列化操作

    Java类和JSON Speaker类: import java.util.ArrayList; import java.util.Arrays; import java.util.List;publ ...

最新文章

  1. 用 Flask 来写个轻博客 (13) — M(V)C_WTForms 服务端表单检验
  2. mysql中case when then的用法
  3. Android Studio的gradle项目构建
  4. jpa mysql查找_jpa查找数据库最新一条消息
  5. 添加游戏到游戏浏览器中的小工具
  6. linux的cimserver是什么服务,openpegasus的启动方式(即cimserver的启动方式)
  7. 计算机导航医学应用,【2016年】计算机导航在全膝关节置换中的应用技术及进展【临床医学论文】.doc...
  8. Java好学吗?Java能做什么?如何快速入门Java?
  9. 下划线_Excel添加下划线的快捷键,下划线颜色设置
  10. PHP获取客户端IP函数
  11. IT服务管理领域的最佳实践知识体系ITIL4
  12. 菜菜PyTorch深度学习框架最全笔记(第二次课)
  13. 【JS】match() 方法
  14. SEO内页优化,SEO内容优化,内页快速SEO优化
  15. 网易云音乐常用API浅析
  16. 光猫可以直接接交换机吗 交换机能直接连光猫吗
  17. Linux——赋予普通用户root的权限
  18. 根据当前行情,计算历史上与当前最相似的行情python实现
  19. 【论文精度】Subdivision-Based Mesh Convolution Networks
  20. STM32 烧录程序后无法在内部FLASH保存数据问题解决

热门文章

  1. 网络131第6周实验——Java基本语法
  2. 过河问题(两种方法随时!!比较)
  3. 电子传真将推动企业无纸化办公进程
  4. pycharm运行python程序环境配置
  5. ArrayList详解
  6. 一句口诀记忆计算机网络七层架构模型和TCP/IP五层模型(记不住你打我)
  7. 基础——SPI与QSPI的异同,QSPI的具体协议是什么,QSPI有什么用
  8. STM32H750 qspi flash bootloader
  9. 对某火锅店中文评价数据进行情感分析
  10. html overflow隐藏滚动条,html – 隐藏滚动条,但仍然可以滚动