开发者社区 问答 正文

Java中原生的RMI有哪些?

Java中原生的RMI包含那些呢?

展开
收起
magicalman 2021-10-19 18:40:50 366 分享 版权
阿里云 AI 助理回答

Java中原生的RMI(Remote Method Invocation,远程方法调用)是Java SE平台的一项标准技术,它允许一个Java虚拟机(JVM)上的对象直接调用另一个JVM上对象的方法,如同在本地对象上调用一样。这一过程涉及以下几个核心组件和概念:

  1. RMI Registry:一个服务端程序,充当远程对象的注册表。当服务器应用程序创建了可供远程访问的对象后,会将这些对象绑定到RMI Registry上,通过名称来注册这些对象。

  2. Stub和Skeleton:为了实现透明的远程调用,RMI使用了Stub(存根)和Skeleton(骨架)。Stub是客户端的一个代理对象,它替换了远程对象;Skeleton则位于服务器端,负责解码客户端请求并将其转发给实际的对象。这两者共同为开发者隐藏了网络通信的细节。

  3. Remote Interface:任何想要被远程调用的Java类必须实现一个远程接口(继承自java.rmi.Remote接口),该接口声明了可以远程调用的方法。

  4. Security Manager:RMI支持安全策略管理,通过配置Java安全策略文件,可以控制哪些代码有权限进行远程方法调用,增强了系统的安全性。

  5. TCP/IP协议:RMI底层通常使用TCP/IP作为通信协议,确保数据在网络中的可靠传输。

  6. RMI TCP Connection线程:如知识库中提到,RMI TCP Connection线程是执行远程方法调用的实际工作线程,它们负责处理客户端发来的请求,并可能因执行任务的复杂度或频率而表现出不同的CPU占用率。

综上所述,Java原生RMI包含了一个完整的框架,用于实现分布式系统中跨JVM的透明通信,包括对象注册、网络通信管理、安全控制以及必要的中间件(如Stub和Skeleton)以简化开发者对远程交互的处理。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答标签:
问答地址: