Hessian源码学习
shuidai
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Hessian源码学习(三)序列化概述
今天我们重点来看看Hessian是如何实现序列化的(这些序列化类可以脱离hessian源码包,单独拿出来使用),参考源码版本为3.0.13 首先我们看下序列化一个对象的代码: [code="java"] // 这里可以是任何形式的OutputStream,现以FileOutputStream为例 OutputStream os = new FileOutputStream("hessi...2011-12-18 14:12:00 · 239 阅读 · 0 评论 -
Hessian源码学习(四)BasicSerializer分析
之前分析了序列化一个对象的流程,基本上可以归纳成先获取一个对象的序列化类,然后由该序列化类来序列化对象;那么究竟有哪些序列化类,以及这些类是如何序列化的就是我们本次分析的重点(参考源码版本3.0.13)! 先看下整个序列化类的的类图: [img]http://dl.iteye.com/upload/attachment/0072/8729/a44b500e-fa2e-3e5e-93b8...2011-12-19 21:33:58 · 187 阅读 · 0 评论 -
Hessian源码学习(五)JavaSerializer
紧接着上一篇,我们来看看另一个序列化类[b]JavaSerializer[/b](参考源码版本3.0.13)。 这个类一般是用来序列化我们自定义类的(DefaultSerializer),所以更多的时候我们用到的是它,今天打算分析两个方面: 1.JavaSerializer本身实现分析; 2.分析下反序列化的时候为什么会存在父类同名field覆盖子类field值问题; [b][size...2011-12-29 16:40:27 · 524 阅读 · 0 评论 -
Hessian源码学习(六)CollectionSerializer, MapSerializer
分析了BasicSerializer和JavaSerializer,剩下的序列化类就比较简单了,其实最本质的是基本类型的序列化[url]http://diaocow.iteye.com/blog/1317164[/url],其他任何类型的序列化最后都可以回归到基本类型的序列化; [b]隐隐的感觉透着递归的理念,最后递归到一个基本问题的解决![/b] 今天我们分析下CollectionS...2011-12-29 22:00:05 · 363 阅读 · 0 评论 -
Hessian源码学习(七)Ref
今天重新看了一下Hessian的序列化类,发现了一个之前被自己忽略的地方,而这应该也是Hessian序列化较快的原因之一(参考源码3.0.13)。 在大多数序列化类开始之前都有这么一段代码: [code="java"] if (out.addRef(obj)) return; //省略具体序列化code... [/code] 我们看下addRef(obj)做了些什么?...2012-01-07 23:25:33 · 150 阅读 · 0 评论 -
Hessian源码学习(一)服务端
【服务端】 HessianServlet 是一个非常普通的Servlet 它直接继承 GenericServlet 我们看其中两个核心方法:init与service方法(参考源码版本3.0.13) [size=medium] [b]init(ServletConfig config)[/b][/size] 该方法覆写父类的init(ServletConfig config)方法(...2011-11-27 22:37:20 · 174 阅读 · 0 评论 -
Hessian源码学习(二)客户端
【客户端】 我们在客户端是如何使用hessian呢? [code="java"] String url = "http://localhost:8080/Hello/hello"; HessianProxyFactory factory = new HessianProxyFactory(); // IHello为调用的服务接口,url为hessian服务url IHell...2011-11-28 22:02:31 · 134 阅读 · 0 评论
分享