hessian序列化
来源:互联网 发布:免费下载暮色森林js 编辑:程序博客网 时间:2024/06/05 16:18
1、概念介绍
把Java对象转换为字节序列的过程称为对象的序列化。
把字节序列恢复为Java对象的过程称为对象的反序列化。
对象的序列化主要有两种用途:
1) 数据介质存储
2) 数据网络传输
2、对象序列化实例
为了更好的理解hessian的序列化机制,所以把java和hessian的对象序列化实例都一一列出。
1)对象序列化--java
- public byte[] serialize(Object obj) throws Exception {
- if(obj==null) throw new NullPointerException();
- ByteArrayOutputStream os = new ByteArrayOutputStream();
- ObjectOutputStream out = new ObjectOutputStream(os);
- out.writeObject(obj);
- return os.toByteArray();
- }
- public Object deserialize(byte[] by) throws Exception {
- if(by==null) throw new NullPointerException();
- ByteArrayInputStream is = new ByteArrayInputStream(by);
- ObjectInputStream in = new ObjectInputStream(is);
- return in.readObject();
- }
2)对象序列化--hessian (hessian2的序列化方式在附件中)
- public byte[] serialize(Object obj) throws IOException{
- if(obj==null) throw new NullPointerException();
- ByteArrayOutputStream os = new ByteArrayOutputStream();
- HessianOutput ho = new HessianOutput(os);
- ho.writeObject(obj);
- return os.toByteArray();
- }
- public Object deserialize(byte[] by) throws IOException{
- if(by==null) throw new NullPointerException();
- ByteArrayInputStream is = new ByteArrayInputStream(by);
- HessianInput hi = new HessianInput(is);
- return hi.readObject();
- }
从以上代码不难看出,对象序列化的过程为:
先将对象转为字节码或其它,然后再将其还原为对象。在反序列化时,内存中必须有源对象的所属类。
3、对象序列化效率
hessian2在这方面有了很大的改进,所以优势十分明显。具体细节不再详述,在进阶篇中,我会详述序列化的实现细节。在此仅把实例执行结果公布出来:
- java:
- 77
- stxm
- hessian:
- 41
- stxm
- hessian2:
- 30
- stxm
- 说明:
- 1、数字为对象序列化后的字节长度。
- 2、‘stxm’为对象方法的执行结果。
hessian2的优点,谁用谁知道。待我再做深入研究之后,再把我自己认为的和大家认为的优点总结一下,并加以解释。
0 0
- hessian序列化
- hessian序列化区别
- Hessian序列化详解
- Lucene 实现 hessian序列化
- hessian 序列化实现 初探
- Hessian 序列化,反序列
- hessian序列化反序列化util
- Hessian远程调用及序列化协议
- Hessian远程调用及序列化协议
- Kryo与Hessian的序列化比较
- Hessian 2.0序列化协议规范
- Hessian 2.0序列化协议规范
- hessian原理解析三(序列化协议)
- hessian原理解析三(序列化协议)
- Java序列化和hessian序列化的区别
- Java序列化和Hessian序列化的区别
- Java序列化和hessian序列化的区别
- Java序列化和hessian序列化的区别
- [从头学数学] 第82节 观察物体(三)
- Linux — Shell
- HDU 1542 HDU 1225 (线段树扫描线)
- hessian基础
- eclipse web.xml for weblogic 11g
- hessian序列化
- Educational Codeforces Round 7--C. Not Equal on a Segment
- 06、场景
- Java核心技术(第8版)学习笔记_概述
- beaglebone博客
- 怎么也记不清楚的several points(每日更新)
- neuq oj1014 等差数列C++
- Hessian入门(与Spring集成)
- Oracle 内存参数调整