RMI

什么是RMI?

  • Java远程方法调用(Java RMI)是Java API对远程过程调用(RPC)提供的面向对象的等价形式,支持直接传输序列化的Java对象和分布式垃圾回收。
  • 远程方法调用可以看做是激活远程正在运行的对象上的方法的步骤。
  • RMI对调用者是位置透明的,因为调用者感觉方法是执行在本地运行的对象上的。

RMI体系结构的基本原则是什么?

  • RMI体系结构是基于一个非常重要的行为定义和行为实现相分离的原则。
  • RMI允许定义行为的代码和实现行为的代码相分离,并且运行在不同的JVM上。

RMI体系结构分哪几层?

  • 存根和骨架层(Stub and Skeleton layer):这一层对程序员是透明的,它主要负责拦截客户端发出的方法调用请求,然后把请求重定向给远程的RMI服务。
  • 远程引用层(Remote Reference Layer):RMI体系结构的第二层用来解析客户端对服务端远程对象的引用。这一层解析并管理客户端对服务端远程对象的引用。连接是点到点的。
  • 传输层(Transport layer):这一层负责连接参与服务的两个JVM。这一层是建立在网络上机器间的TCP/IP连接之上的。它提供了基本的连接服务,还有一些防火墙穿透策略。

RMI中的远程接口(Remote Interface)扮演了什么样的角色?

  • 远程接口用来标识哪些方法是可以被非本地虚拟机调用的接口。
  • 远程对象必须要直接或者是间接实现远程接口。
  • 实现了远程接口的类应该声明被实现的远程接口,给每一个远程对象定义构造函数,给所有远程接口的方法提供实现。

java.rmi.Naming类扮演了什么样的角色?

  • java.rmi.Naming类用来存储和获取在远程对象注册表里面的远程对象的引用。
  • Naming类的每一个方法接收一个URL格式的String对象作为它的参数。

RMI的绑定(Binding)是什么意思?

  • 绑定是为了查询找远程对象而给远程对象关联或者是注册以后会用到的名称的过程。
  • 远程对象可以使用Naming类的bind()或者rebind()方法跟名称相关联。
posted @ 2021-01-14 13:49  张三丰学Java  阅读(408)  评论(0编辑  收藏  举报