天天看点

JAVA面试常考系列九

JAVA面试常考系列九

JAVA面试常考系列九

题目一

RMI架构层的结构是如何组成的?

RMI体系结构由三层组成,分别是:

存根和骨架层(Stub and Skeleton Layer)

远程引用层(Remote Reference Layer)

传输层(Transport Layer)

Stub and Skeleton layer:这一层对于成员来讲,是透明的。该层主要负责拦截客户端向接口发起的方法调用,并将这些调用重定向到远程RMI服务。

Remote Reference Layer:这一层处理从客户端到服务器远程对象的引用的解释。该层解释和管理从客户端到远程服务对象的引用。连接方式是点到点的。

Transport layer:最后一层负责连接参与服务的两个JVM。这一层基于网络中机器之间的TCP / IP连接,提供了基本的连接和一些防火墙渗透策略。

题目二

RMI中的远程接口有哪些作用?

远程接口在RMI主要有以下作用:

1.用来标识接口,目的是为了辨识哪些接口是可以从非本地虚拟机调用方法的。

2.为每个远程对象定义构造函数。

3.为所有远程接口中的每个远程方法提供实现。

4.实现远程接口的类,应声明正在实现的远程接口。

5.所有作为远程对象的对象,必须直接或间接地实现这个接口。

题目三

java.rmi.Naming类的作用是什么?

java.rmi.Naming类提供了用于存储和获取对远程对象注册表中远程对象的引用的方法。Naming类的每个方法都可将某个名称作为其一个参数,该名称是使用以下形式的URL格式(没有scheme组件)的。

题目四

在RMI中绑定的意义是什么?

绑定是关联或注册远程对象的名称的过程,后面用来查找远程对象。远程对象可以使用Naming类的bind或rebind方法与名称关联。

题目五

使用命名类的bind()和rebind()方法有什么区别?

bind方法绑定负责将指定的名称绑定到远程对象。

rebind方法负责将指定的名称重新绑定到新的远程对象。若该名称存在绑定,绑定将被替换。

题目六

一个RMI程序正常运行的要点是什么?

为了使RMI程序正常运行,必须完成下面的工作:

1、汇编所有源文件。

2、用rmic生成存根。

3、开始rmiregistry。

4、启动RMIServer。

5、运行客户端程序。

题目七

存根在RMI中的意义是什么?

远程对象的存根充当远程对象的客户端本地代理或代理。调用者 调用本地存根上的一个方法,该方法负责在远程对象上执行该方法。

题目八

DGC的作用是什么?

DGC的作用主要有一下两点:

DGC在RMI中用于自动垃圾收集。

DGC使用引用计数算法为远程对象提供自动内存管理。

题目九

题目十