Java-第7章 了解RMI_第1页
Java-第7章 了解RMI_第2页
Java-第7章 了解RMI_第3页
Java-第7章 了解RMI_第4页
Java-第7章 了解RMI_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第七章第七章 了解了解RMIRMI 目目 录录 RMI简介 什么是RMI? RMI的目标 RMI的体系结构 RMI如何工作 分布垃圾回收 RMI和OSI参考模型 安全 1. 1. RMIRMI简介简介 Remote Method Invocation (RMI) 将客户和服务器间的接口抽象为一个本 地的过程调用 不需要设计或选用协议 2. 2. 什么是什么是RMIRMI? RMI是开发分布式程序的核心包 透明调用 分布的垃圾回收 对流的方便访问 3. 3. RMIRMI的目标的目标 支持对存在于不同的虚拟机上的对象的无 缝的远程调用 支持服务器对客户的回调 把分布式对象模型自然的集成到Java

2、语言 中,尽可能保留Java的面向对象特性 使分布式对象模型和本地对象模型间的不 同表面化 使编写分布式应用程序变得简单 保留Java所提供的安全性 多样化的远程调用机制 多传输能力 分布式垃圾回收 本地对象与远程对象的区别本地对象与远程对象的区别 本地对象远程对象 对象定义一个本地对象由Java class定义一个远程对象的行为由扩展Remote接口的接口定义 对象实现一个本地对象由Java class实现远程对象的行为由实现远程接口的java class实现 对象创建用new操作符创建远程对象的实例由所在主机用new操作符创建,客户端不能直接 创建一个远程对象 对象访问本地对象直接通过对象

3、的引用访 问 远程对象通过一个指向实现远程接口的代理桩的对象引用变量方 法 引用在单一的JVM中,对象引用直接 指向堆中的一个对象 一个“远程引用”是指向本地堆中的代理对象的指针,该代理对 象包含连接到远程对象的信息 活跃对象在单一的JVM中,如果至少有一 个对象引用在使用,则该对象是 活跃的 如果一个远程对象在一定的时间内被访问,则认为该对象有一个 活跃的引用。如果所有的远程引用都被明确释放,那么该对象可 以被垃圾回收器回收了。 垃圾回收当一个对象的所有引用都被释放, 则个对象可以被回收 分布垃圾回收器与本地垃圾回收器一同工作,如果一个远程对象 没有远程引用也没有本地引用,则该对象可以被回收

4、 异常Java编译器强制处理非运行异常 RMI强制处理可能抛出的RemoteException异常 3 3-1-1. The Heart of RMI. The Heart of RMI Interfaces 重要原理:行为的定义和行为的实现分离。RMI允 许定义行为的代码和实现行为的代码分离运行在不 同的JVM上 客户端只关心服务的定义,而服务器关注提供服务 interfaces define behavior and classes define implementation. 4. RMI的体系结构 桩/架构(stub/skeleton)层 远程引用层 传输层 4. 4. RMIRMI的

5、体系结构的体系结构 桩桩/ /架构层架构层 是应用程序和其他部分的接口 使用RMI的rmic编译器产生桩/架构层 根据服务器程序的字节代码,产生代理类 此层不处理任何特定的传输 客户端桩客户端桩 初始化远程调用 序列化发送的参数 提示远程引用层进行调用 反序列化返回值 提示传输层条用完成 服务器端架构服务器端架构 反序列化客户端输入的参数 调用实际的远程对象实现 将返回值序列化为流,以传输给客户 4. 4. RMIRMI的体系结构的体系结构 2. 2. 远程引用层远程引用层 是桩/架构层和传输层的中间层 负责为独立的客户桩和服务器架构的多种形式的远程引用 和调用协议提供支持 提供一个Remot

6、eRef 对象,代表到远程服务对象的连接 桩对象通过RemoteRef 对象的invoke()方法传递方法调 用,该对象能够理解对远程服务的调用语义 点对点连接(unicast,jdk1.1):当客户访问远程服务之 前,远程服务必须是已经被实例化 可激活的对象(jdk1.2):当访问一个可激活远程对象时, 首先判断服务是否休眠,如果是休眠状态,则首先实例化该 对象。 4. 4. RMIRMI的体系结构的体系结构 3. 3. 传输层传输层 传输层是一个低级的层 在不同的地址空间内传输序列化的流 负责建立远程地址空间的连接,管理连接,监听外来调用 为外来的调用建立连接,定位调度程序 5. 5. R

7、MIRMI如何工作如何工作 序列化流,传 输数据到远程 引用层 确定对象性质 是否可以实例化 是否可以自动启动 是否需要声明和初 始化 负责建立连接 管理连接 6. 6. 分布垃圾回收分布垃圾回收 RMI提过了一个分布的垃圾回收器 使用引用计数(Reference-counting) 垃圾回收算法 可以跟踪每一个虚拟机上的活动引用, 当一个引用进入虚拟机,计算器就增加, 反之减少,如果计数为0,则回收该对象 RMI系统还要保持对虚拟机标识符的跟 踪,以确保垃圾回收器回收的是即没有 被本地调用,有没有被远程对象调用的 对象。 7. 7. RMIRMI和和OSIOSI参考模型参考模型 8. 8. 安全安全 对象被序列化后,以普通文本的方式通 过

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论