RMI分布式对象模型-RMI快速入门教程
术语定义
在 Java SE 平台的分布式对象模型中,远程对象是一种可以从另一个 Java 虚拟机(可能在不同的主机上)调用其方法的对象。这种类型的对象由一个或多个远程接口描述,这些接口是用 Java 编程语言编写的接口,用于声明远程对象的方法。
远程方法调用(RMI) 是在远程对象上调用远程接口的方法的操作。最重要的是,远程对象上的方法调用与本地对象上的方法调用具有相同的语法。
分布式对象应用
RMI 应用程序通常由两个独立的程序组成:服务器和客户端。典型的服务器应用程序创建许多远程对象,使对这些远程对象的引用可访问,并等待客户端调用这些远程对象上的方法。典型的客户端应用程序获取对服务器中一个或多个远程对象的远程引用,然后调用它们的方法。RMI 提供了服务器和客户端通信和来回传递信息的机制。这种应用程序有时被称为分布式对象应用程序。
分布式对象应用程序需要:
- 定位远程对象
应用程序可以使用两种机制之一来获取对远程对象的引用。应用程序可以使用 RMI 的简单命名工具注册其远程对象
rmiregistry
,或者应用程序可以传递和返回远程对象引用作为其正常操作的一部分。 - 与远程对象通信
远程对象之间的通信细节由 RMI 处理;对于程序员来说,远程通信看起来就像是标准的方法调用。
- 为作为参数或返回值传递的对象加载类字节码
因为 RMI 允许调用者将对象传递给远程对象,所以 RMI 提供了必要的机制来加载对象的代码以及传输其数据。
下图描述了一个 RMI 分布式应用程序,它使用注册表来获取对远程对象的引用。服务器调用注册表以将名称与远程对象相关联。客户端在服务器的注册表中通过名称查找远程对象,然后调用它的方法。该图还显示,RMI 系统使用现有的 Web 服务器在需要时为对象加载用 Java 编程语言编写的类的字节码,从服务器到客户端,从客户端到服务器。RMI 可以使用 Java 平台支持的任何 URL 协议(例如 HTTP、FTP、文件等)加载类字节码。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?