java rmi和rpc_Java学习笔记之RMI与RPC的区别

原标题:Java学习笔记之RMI与RPC的区别

随着Java技能学习的不断深入,越来越觉得保持初心是多么重要,无论我们学到哪个程度,在学习的时分始终保持初学者的心态,才能在自己的技能之上实现突破!今天更新学习笔记:Java技能中的 RMI与RPC的差异。

bcb84d1057987936c32b2950b2103aa0.png

一:RPC 长途进程调用

RPC(Remote Procedure Call Protocol)长途进程调用协议,经过网络从长途核算机上恳求调用某种效劳。

一次RPC调用的进程大概有10步:

1.履行客户端调用句子,传送参数

2.调用本地体系发送网络音讯

3.音讯传送到长途主机

4.效劳器得到音讯并取得参数

5.根据调用恳求以及参数履行长途进程(效劳)

6.履行进程结束,将成果回来效劳器句柄

7.效劳器句柄回来成果,调用长途主机的体系网络效劳发送成果

8.音讯传回本地主机

9.客户端句柄由本地主机的网络效劳接纳音讯

10.客户端接纳到调用句子回来的成果数据

96b8872ef0c69dde4afaeae19165bab2.png

二:RMI 长途办法调用

RMI:长途办法调用(Remote Method Invocation)。可以让在客户端Java虚拟机上的目标像调用本地目标一样调用效劳端java 虚拟机中的目标上的办法。

0b29528b10535872c30de61bd01a39f6.png

RMI长途调用过程:

1,客户调用客户端辅佐目标stub上的办法

2,客户端辅佐目标stub打包调用信息(变量,办法名),经过网络发送给效劳端辅佐目标skeleton

3,效劳端辅佐目标skeleton将客户端辅佐目标发送来的信息解包,找出真实被调用的办法以及该办法所在目标

4,调用真实效劳目标上的真实办法,并将成果回来给效劳端辅佐目标skeleton

5,效劳端辅佐目标将成果打包,发送给客户端辅佐目标stub

6,客户端辅佐目标将回来值解包,回来给调用者

7,客户取得回来值

三:RPC与RMI的差异

1:办法调用办法不同:

RMI中是经过在客户端的Stub目标作为长途接口进行长途办法的调用。每个长途办法都具有办法签名。如果一个办法在效劳器上履行,可是没有相匹配的签名被添加到这个长途接口(stub)上,那么这个新办法就不能被RMI客户方所调用。

RPC中是经过网络效劳协议向长途主机发送恳求,恳求包含了一个参数集和一个文本值,一般构成“classname.methodname(参数集)”的方式。RPC长途主机就去搜索与之相匹配的类和办法,找到后就履行办法并把成果编码,经过网络协议发回。

2:适用言语规模不同:

RMI只用于Java;

RPC是网络效劳协议,与操作体系和言语无关。

3:调用成果的回来方式不同:

Java是面向目标的,所以RMI的调用成果可所以目标类型或者基本数据类型;

RMI的成果统一由外部数据表明 (External Data Representation, XDR) 言语表明,这种言语笼统了字节序类和数据类型结构之间的差异。

学习java开发,可以参阅千锋供给的java学习路线,该学习路线罗列了各阶段完好的java学习知识,根据千锋供给的java学习路线图,可以让你对学好java开发需要掌握的知识有个明晰的了解,并能快速入门java开发。返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值