首页 > 科技 >

Java进修笔记之RMI与RPC的区别

2019-05-07 12:17:27 暂无 阅读:1342 评论:0

跟着Java手艺进修的络续深入,越来越感觉连结初心是何等主要,无论我们学到哪个水平,在进修的时候始终连结初学者的心态,才能在本身的手艺之上实现冲破!

今天有点像鸡汤,回来正题,持续更新我的进修笔记:Java手艺中的 RMI与RPC的区别。

Java进修笔记之RMI与RPC的区别

一:RPC 长途过程挪用

RPC(Remote Procedure Call Protocol)长途过程挪用和谈,经由收集从长途较量机上恳求挪用某种办事。

一次RPC挪用的过程也许有10步:

1.执行客户端挪用语句,传送参数

2.挪用内陆系统发送收集新闻

3.新闻传送到长途主机

4.办事器获得新闻并取得参数

5.凭据挪用恳求以及参数执行长途过程(办事)

6.执行过程完毕,将究竟返回办事器句柄

7.办事器句柄返回究竟,挪用长途主机的系统收集办事发送究竟

8.新闻传回内陆主机

9.客户端句柄由内陆主机的收集办事领受新闻

10.客户端领受到挪用语句返回的究竟数据

Java进修笔记之RMI与RPC的区别

二:RMI 长途方式挪用

RMI:长途方式挪用(Remote Method Invocation)。可以让在客户端Java虚拟机上的对象像挪用内陆对象一般挪用办事端java 虚拟机中的对象上的方式。

Java进修笔记之RMI与RPC的区别

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) 说话透露,这种说话抽象了字节序类和数据类型构造之间的差别。

相关文章