RMI介绍-Java快速入门教程
背景
分布式系统要求在不同地址空间(可能在不同主机上)运行的计算能够进行通信。对于基本的通信机制,Java TM编程语言支持套接字,它对于一般通信来说是灵活且足够的。但是套接字需要客户端和服务器参与应用程序级协议来对消息进行编码和解码以进行交换,并且此类协议的设计繁琐且容易出错。
套接字的替代方法是远程过程调用 (RPC),它将通信接口抽象为过程调用级别。程序员没有直接使用套接字工作,而是有一种调用本地过程的错觉,而实际上调用的参数被打包并发送到调用的远程目标。RPC 系统使用外部数据表示(例如 XDR)对参数和返回值进行编码。
然而,RPC 并不能很好地转化为分布式对象系统,其中需要驻留在不同地址空间中的程序级对象之间进行通信。为了匹配对象调用的语义,分布式对象系统需要远程方法调用或RMI。在此类系统中,本地代理(存根)对象管理对远程对象的调用。
Java 平台的远程方法调用系统是专门为在 Java 应用程序环境中运行而设计的。Java 编程语言的 RMI 系统假定 Java 虚拟机 (JVM) 的同类环境,因此系统可以尽可能利用 Java 平台的对象模型。
系统目标
在 Java 编程语言中支持分布式对象的目标是:
- 支持对不同虚拟机中对象的无缝远程调用
- 支持从服务器到小程序的回调
- 以自然的方式将分布式对象模型集成到 Java 编程语言中,同时保留大部分 Java 编程语言的对象语义
- 使分布式对象模型和本地 Java 平台的对象模型之间的差异显而易见
- 使编写可靠的分布式应用程序尽可能简单
- 保留 Java 平台运行时环境提供的类型安全
- 支持远程对象的各种引用语义;例如实时(非持久)引用、持久引用和延迟激活
- 维护由安全管理器和类加载器提供的 Java 平台的安全环境
所有这些目标的基础是一个通用要求,即 RMI 模型既简单又使用。
分类:
Java
标签:
Java快速入门教程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」