rmi技术应用demoPDF版
需积分: 0 119 浏览量
更新于2009-01-06
收藏 136KB PDF 举报
### RMI技术应用知识点详解
#### 一、RMI简介
**远程方法调用(RMI)**是Java平台提供的一种分布式计算技术,它允许一个Java对象通过网络调用另一个Java对象中的方法,就如同本地方法调用一样。RMI的实现基于Java Remote Method Protocol (JRMP),该协议使用TCP/IP作为底层传输协议。
#### 二、RMI的基本概念
1. **远程接口**: 在RMI中,所有远程对象都必须实现一个特定的接口,该接口继承自`java.rmi.Remote`。此接口声明了可以在远程对象上调用的方法,并且每个方法都必须抛出`RemoteException`。
- **例如**: 在提供的代码中,`RmiHelloRemoteIntfc`就是一个远程接口的例子。
2. **远程对象**: 实现远程接口的具体类,这些类必须继承自`java.rmi.server.UnicastRemoteObject`类。远程对象负责执行远程客户端请求的操作。
- **例如**: `RmiHelloRemoteObj`实现了`RmiHelloRemoteIntfc`接口,并提供了具体的实现逻辑。
3. **注册表**: RMI使用注册表来存储远程对象的名字和引用。客户端可以通过注册表查找远程对象,并与之通信。
- **例如**: `LocateRegistry.createRegistry(2222);`创建了一个监听2222端口的注册表。
4. **命名服务**: 用于将远程对象的名字映射到实际的对象引用。命名服务通常由`java.rmi.Naming`类提供支持。
- **例如**: `Naming.rebind("//Fangm:2222/helloObj", ttt);`将远程对象绑定到了名字“helloObj”。
5. **安全管理器**: RMI操作受到安全策略的限制,通常通过设置系统属性或配置权限文件来实现。
- **例如**: `RmiHelloServer.policy`和`RmiHelloClient.policy`分别定义了服务器端和客户端的安全权限。
6. **客户端**: 客户端通过注册表和命名服务查找远程对象,并调用其方法。
- **例如**: `RmiHelloClient`类通过`Naming.lookup`方法查找远程对象,并调用`helloRemoteObj`方法。
#### 三、RMI的实现过程
1. **编写远程接口**: 定义一个继承自`java.rmi.Remote`的接口,声明可以远程调用的方法。
- **示例**: `RmiHelloRemoteIntfc`接口中声明了`helloRemoteObj`方法。
2. **实现远程对象**: 编写一个继承自`UnicastRemoteObject`的类,并实现远程接口。
- **示例**: `RmiHelloRemoteObj`类实现了`RmiHelloRemoteIntfc`接口,并提供了`helloRemoteObj`方法的实现。
3. **创建服务器**: 创建远程对象实例,并将其绑定到注册表中。
- **示例**: 在`RmiHelloServer`类中,创建了`RmiHelloRemoteObj`实例,并通过`Naming.rebind`方法将其绑定到注册表。
4. **配置安全策略**: 为了确保安全,需要为服务器和客户端配置权限文件。
- **示例**: `RmiHelloServer.policy`和`RmiHelloClient.policy`分别定义了服务器端和客户端的权限。
5. **客户端调用**: 客户端查找远程对象,并调用远程方法。
- **示例**: `RmiHelloClient`类中通过`Naming.lookup`方法查找远程对象,并调用了`helloRemoteObj`方法。
#### 四、RMI注意事项
- **异常处理**: 在RMI程序中,通常需要处理各种异常,如网络异常、安全异常等。
- **序列化**: RMI中传递的对象需要支持序列化,即实现`Serializable`接口。
- **性能考虑**: RMI在网络通信方面可能不如其他更现代的技术(如HTTP/REST)高效。
- **安全性**: 需要仔细设计安全策略,防止未经授权的访问。
- **兼容性**: RMI版本间的兼容性需要注意,不同版本的JVM可能会导致问题。
通过以上详细解释,我们可以看到RMI作为一种早期的分布式解决方案,在理解其基本原理和实现细节方面仍然具有重要意义。尽管在现代软件开发中,更倾向于使用如gRPC、RESTful API等技术,但了解RMI的工作机制对于深入理解分布式系统的原理非常有帮助。

倪发如雪
- 粉丝: 11
最新资源
- 2018-2019高中地理第六章人类与地理环境的协调发展附6GPS与GIS地理信息技术的应用必修2.ppt
- 通信工程专业单片机系统设计、仿真与程序设计指导书.doc
- 基于单片机控制的数字音乐盒的方案设计书.doc
- CAD技术在水利水电工程中的应用.doc
- 计算机应用技术专业剖析报告.doc
- DSPG语音压缩算法设计方案与实现.doc
- 电气控制与PLC课程方案设计书任务书.doc
- 移动互联网技术在配电运检专业的应用.docx
- 计算机发展现状及趋势分析.docx
- 优化设计方案控制工程造价-项目管理论文.docx
- 机房系统集成需求分析.doc
- 论网络黑客的刑法规制.docx
- 形象化教学法在计算机网络课程课堂教学中的运用探索.docx
- 虚拟社会环境下的网络舆情现状分析.docx
- 电气工程及其自动化问题与对策研究.docx
- 与计算机视觉课程作业相关的代码