RMI应用程序通常包括两个独立的程序:服务器程序和客户机程序。
典型的服务器应用程序将创建多个远程对象,使这些远程对象能够被引用,
然后等待客户机调用这些远程对象的方法。而典型的客户机程序则从服务器
中得到一个或多个远程对象的引用,然后调用远程对象的方法。RMI为服务
器和客户机进行通信和信息传递提供了一种机制。
在与远程对象的通信过程中,RMI使用标准机制:stub和skeleton。
远程对象的stub担当远程对象的客户本地代表或代理人角色。调用程序将调
用本地stub的方法,而本地stub将负责执行对远程对象的方法调用。在RMI中,
远程对象的stub与该远程对象所实现的远程接口集相同。调用stub的方法时将执行下列操作:
(1) 初始化与包含远程对象的远程虚拟机的连接;
(2) 对远程虚拟机的参数进行编组(写入并传输);
(3) 等待方法调用结果;
(4) 解编(读取)返回值或返回的异常;
(5) 将值返回给调用程序。为了向调用程序展示比较简单的调用机制,stub将参数的序列化和网络级通信等细节隐藏了起来。在远程虚拟机中,每个远程对象都可以有相应的skeleton(在JDK1.2环境中无需使用skeleton)。
Skeleton负责将调用分配给实际的远程对象实现。
它在接收方法调用时执行下列操作:
(1) 解编(读取)远程方法的参数;
(2)调用实际远程对象实现上的方法;
(3) 将结果(返回值或异常)编组(写入并传输)给调用程序。stub和skeleton由rmic编译器生成。
利用RMI编写分布式对象应用程序需要完成以下工作:
(1) 定位远程对象。应用程序可使用两种机制中的一种得到对远程对象的引用。它既可用RMI的简单命名工具rmiregistry来注册它的远程对象,也可以将远程对象引用作为常规操作的一部分来进行传递和返回。
(2)与远程对象通信。远程对象间通信的细节由RMI处理,对于程序员来说,远程通信看起来就像标准的Java方法调用。
(3)给作为参数或返回值传递的对象加载类字节码。因为RMI允许调用程序将纯Java对象传给远程对象,所以,RMI将提供必要的机制,既可以加载对象的代码又可以传输对象的数据。
在RMI分布式应用程序运行时,服务器调用注册服务程序以使名字与远程对象相关联。客户机在服务器上的注册服务程序中用远程对象的名字查找该远程对象,然后调用它的方法。
分享到:
相关推荐
Java自带了一些用于RMI开发的工具: - `rmiregistry`:RMI注册表服务,用于存储和查找远程对象。 - `rmic`:编译远程接口,生成必要的Stub和Skeleton类。 - `rmid`:RMI运行时守护进程,管理远程对象的激活和持久化...
**RMI原理及应用详解** 远程方法调用(Remote Method Invocation,简称RMI)是Java平台提供的一种分布式计算技术,允许在不同的Java虚拟机(JVM)之间进行对象方法的透明调用。RMI的核心思想是使Java对象能够跨越...
二、RMI开发步骤 1. 定义远程接口:创建一个接口,继承`Remote`,并声明远程方法。 2. 实现远程接口:创建实现该接口的类,包含具体业务逻辑。 3. 创建RMIServer:在服务器端启动RMI服务,创建远程对象实例,并在RMI...
同时,这也有助于理解RMI的工作原理,包括远程方法调用的过程,对象的传输机制,以及如何进行跨网络的交互。 在实际项目中,RMI常用于构建分布式系统,例如分布式数据库、分布式缓存、分布式计算等场景。了解并掌握...
RMI(Remote Method Invocation,...了解RMI的基本原理和使用后,我们可以根据这些源码学习如何设计和实现一个简单的分布式应用,如聊天室。同时,也可以进一步研究RMI的安全性、性能优化以及异常处理等方面的知识。
远程方法调用(Remote Method Invocation,RMI)是Java提供的一种...这将帮助你理解RMI的工作原理,并为将来开发分布式应用打下基础。在实际应用中,RMI常用于构建分布式系统,如数据库连接池、分布式缓存服务等。
远程方法调用(RMI,Remote Method Invocation)是Java平台中用于构建分布式应用程序的关键技术。...理解RMI的工作原理和实现细节对于开发分布式Java应用至关重要,它能帮助开发者构建可扩展、健壮且易于维护的应用。
在Java世界中,远程方法调用(Remote Method ...理解并熟练掌握RMI的原理和使用,对于开发高效、可靠的Java网络应用至关重要。在JDK 1.5版本下,开发者可以利用RMI的优势,构建出高性能、可扩展的分布式系统。
### RMI原理详解 #### 前言与背景 RMI(Remote Method Invocation,远程方法调用)是一种Java平台上的技术,它允许开发者在不同JVM间的对象间进行方法调用,就像是本地方法调用一样简单。这项技术的出现极大地简化...
Java RMI(Remote Method Invocation,远程方法调用)是Java平台提供的一种分布式计算技术,它允许Java对象在不同的网络...通过实践提供的"rmi"代码示例,你可以深入理解RMI的工作原理,并掌握如何在实际项目中使用它。
**远程方法调用(Remote Method Invocation,...理解RMI的工作原理和关键组件,对于开发高效、可靠的分布式应用至关重要。通过正确使用RMI,开发者可以构建出可扩展、易于维护的分布式系统,满足各种复杂的业务需求。
RMI是Java在分布式环境中实现对象间通信的重要手段,使得开发者可以像操作本地对象一样操作远程对象,极大地简化了分布式应用的开发。 ## 1. RMI 基本概念 ### 1.1 远程接口 (Remote Interface) 远程接口定义了...
RMI使得开发者可以像调用本地对象一样调用网络上的对象,极大地简化了分布式应用程序的开发。本项目提供的“java RMI实现代码”包括客户端和服务器端的示例,通过清晰的代码注释帮助理解RMI的工作原理。 一、RMI的...
Java RMI(Remote Method Invocation,远程方法...虽然现代Java开发中,RMI可能不是首选的分布式计算解决方案(例如,Web服务和RESTful API更为流行),但了解RMI的基本工作原理对于理解Java的分布式特性仍然很有价值。
Java开发工具包(JDK)自带了RMI的支持,包括编译、运行和调试工具。例如,`rmic`用于生成远程对象的stub和skeleton,`rmiregistry`用于启动RMI注册表,`rmid`管理服务器端的Java虚拟机。 **安全性与性能优化** ...
在进行RMI开发时,确保理解并适当地处理这些问题是非常重要的。 压缩包文件"zrmi"可能包含了上述步骤中的源代码文件,包括远程接口定义、远程实现类、服务器端启动类和客户端调用类。通过查看这些源代码,你可以更...
RMI的基本原理是,通过Java序列化机制,将远程对象的方法调用和参数转化为可以在网络上传输的数据,然后在远程服务器上执行相应的方法,并将结果返回给客户端。这一过程涉及的主要组件包括远程接口、远程对象、...
首先,让我们深入理解RMI的工作原理。RMI系统由两部分组成:客户端和服务器端。客户端通过接口调用远程对象的方法,而这些调用实际上被转换为网络请求,发送到服务器端。服务器端接收到请求后,执行相应的方法,并将...
本项目实例是基于RMI技术实现的一个服务器端程序,名为"RMIServer",提供了远程服务的接口和实现,下面将详细介绍RMI的基本概念、工作原理以及如何通过这个项目实例来学习和应用RMI。 1. **RMI基本概念**: - **...