Java EE几个重要概念理解
2018-01-04 23:32
302 查看
RMI
RMI远程方法调用使远程对象像本地对象一样调用,了解EJB的话,RMI会在本地保留一个远程接口对象的对象-叫做存根(Stub)。存根可以理解为一个代理,你需要将参数(数个对象)传送给stub对象,通过网络发送到远程的对象。远程的方法对参数进行处理,并返回返回值。
序列化
将参数对象通过网络发送到远程接口时需要将参数对象转换成字节流。因为字节流是线性的,所以不难理解将对象转化为字节流称为对象的序列化。将传递的参数序列化是将参数对象的属性变成字节流,因此参数对象应该是可串行化的,或者称为可序列化的。而参数对象的属性如果要转换成真正的字节也应该是可串行的。
PS:RMI参数对象必须实现java.io.Serializable或java.rmi.Remote
当然参数对象的属性不是都可以串行化的,对外部资源的引用是不可以的。比如(数据库,Socket)。对于实现串行化接口的参数对象,其不可串行化的类应该加修饰符
Transient。
对象串行化过程中所有带有修饰符transient的类都会被忽略
串行化对象超类也应该是可串行的,如果不可串行,超类类定义中至少应该有一个默认的无参构造器。
(
否则java.io.NotSerializableException会出现)
RMI和序列化的合作
本地出现RMI(远程调用)会在本地调用存根对象,将对象序列化后变成字节流,字节流经过网络发送到服务器中的反序列化程序(WebLogic etc…),会在服务端恢复参数对象,以后的过程就是执行业务方法返回结果了。序列化机制的确为RMI调用提供了有力的支持。
相关文章推荐
- (三)(1) Z-Stack协议中几个重要概念的理解
- 基于指令的移植方式的几个重要概念的理解(OpenHMPP, OpenACC)
- Z-Stack协议中几个重要概念的理解
- 单点登录cas常见问题(十三) - 几个重要概念怎么理解?
- object-c 要理解协议的几个重要概念
- 基于指令的移植方式的几个重要概念的理解(OpenHMPP, OpenACC)-转载
- 基于指令的移植方式的几个重要概念的理解(OpenHMPP, OpenACC)
- 基于指令的移植方式的几个重要概念的理解(OpenHMPP, OpenACC)
- 理解几个面向对象的概念
- 对于可重入、线程安全、异步信号安全几个概念的理解
- java 线程的创建和几个重要的概念
- 计算机网络中的几个重要概念
- J2ME编程中的几个重要概念介绍
- 介绍J2ME的几个重要概念
- 项目范围管理几个重要概念
- 捋一捋 App 性能测试中的几个重要概念
- 【C/C++】对于可重入、线程安全、异步信号安全几个概念的理解
- 虚拟机中的几个重要概念
- 几个重要存储概念
- XML几个重要基本概念