RMI(Remote Method Invocation)原理浅析

本文深入探讨Java的RMI(Remote Method Invocation)技术,解释其定义、功能,以及Stub和Skeleton的角色。RMI允许开发人员创建分布式应用程序,使得在不同JVM之间调用远程对象如同调用本地对象一样简单。文中详细阐述了RMI的开发流程,Stub与接口的关系,以及RMI注册表的作用,并提供了一个简单的RMI实现示例。
摘要由CSDN通过智能技术生成

博采众生现代的 网络和编程技术,让我们的资源共享从信息逐步迈向了硬件,你想到过吗?你可以把一个解密的任务放到远程的运行更快的,闲置的服务器上进行,最后把运算的结果返回来,你 所要做的就是提交任务。看到了吧,处理这些任务是远程的服务器。

Java的RMI的技术让这种实现变得非常的容易,本文就从基础性的东西讲解一下RMI的原理,有关安全和部署的问题,本文不加于讨论。 读过本文希望对你的学习有所帮助。

声明:未经允许,请勿转载本文,谢谢!

本文将讨论以下内容:

一、RMI的定义

1、RMI定义和功能

RMI是Remote Method Invocation的简称,是J2SE的一部分,能够让程序员开发出基于Java的分布式应用。一个RMI对象是一个远 程Java对象,可以从另一个Java虚拟机上(甚至跨过网络)调用它的方法,可以像调用本地Java对象的方法一样调用远程对象的方法,使分布在不同的JVM中的对象的外表和行为都 像本地对象一样。

2、Stub和Skeleton介绍

在学习RMI的时,我们不能不讨论stub和skeleton作用和相关问题。他们是我们理解RMI原理的关键。我做个比方说明这两个概念。 假如你是A,你想借D的工具,但是又不认识D的管家C,所以你找来B来帮你,B认识C。B在这时就是一个代理,代理你的请求,依靠自己的话语去借。C呢他负责D家东西收回和借出 ,但是要有D的批准。在得到D的批准以后,C再把东西给B,B呢再转给A。stub和skeleton在RMI中就是角色就是B和C,他们都是代理角色,在现实开发中隐藏系统和网络的的差异, 这一部分的功能在RMI开发中对程序员是透明的。Stub为客户端编码远程命令并把他们发送到服务器。而Skeleton则是把远程命令解码,调用服务端的远程对象的方法,把结果在编 码发给stub,然后stub再解码返回调用结果给客户端。所有的操作如下图所示:

博采众生

二、RMI原理的浅析

1、RMI的应用开发流程

为了方便理解,在这里我先介绍RMI应用开发的流程。如果你在网上搜索RMI,你会看到好多有关RMI的经典例子。在这里需要说明的就是 从JDK5.0以后,stubs和skeleton的类的产生不需要使用单独的rmic编译器了,所以本文开发流程就简化为客户端和服务端,没有中间的stub和skeleton的环节。整个开发流程如下 图:

博采众生

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值