说明
1、Client 端有一个被称 Stub 的东西,有时也会被成为存根,它是 RMI Client 的代理对象。
2、Stub 的主要功能是请求远程方法时构造一个信息块,RMI 协议会把这个信息块发送给 Server端。
信息块的组成:
远程对象标识符。
调用的方法描述。
编组后的参数值(RMI协议中使用的是对象序列化)。
既然 Client 端有一个 Stub 可以构造信息块发送给Server端,那么 Server 端必定会有一个接收这个信息快的对象,称为Skeleton。
Skeleton 的工作
解析信息快中的调用对象标识符和方法描述,在 Server 端调用具体的对象方法。
取得调用的返回值或者异常值。
把返回值进行编组,返回给客户端 Stub。
到这里,一次从 Client 端对 Server 端的调用结果就可以获取到了。
以上就是java中RMI的原理分析,希望对大家有所帮助。更多Java学习指路:Java基础
本教程操作环境:windows7系统、java10版,DELL G3电脑。