`

RMI基础知识

 
阅读更多
一 .RMI概述
RMI(Remote Method Invocation)
    RMI是分布式对象软件包,它简化了在多台计算机上的JAVA应用之间的通信。必须在jdk1.1以上
RMI用到的类
     java.rmi.Remote                   所有可以被远程调用的对象都必须实现该接口
     java.rmi.server.UnicastRemoteObject 所有可以被远程调用的对象都必须扩展该类
什么是RMI
    远程方法调用是一种计算机之间对象互相调用对方函数,启动对方进程的一种机制,
使用这种机制,某一台计算机上的对象在调用另外一台计算机上的方法时,使用的程
序语法规则和在本地机上对象间的方法调用的语法规则一样。

优点
这种机制给分布计算的系统设计、编程都带来了极大的方便。
只要按照RMI规则设计程序,可以不必再过问在RMI之下的网络细节了,如:TCP和Socket等等。
任意两台计算机之间的通讯完全由RMI负责。调用远程计算机上的对象就像本地对象一样方便。
1、面向对象:
RMI可将完整的对象作为参数和返回值进行传递,而不仅仅是预定义的数据类型。
也就是说,可以将类似Java哈西表这样的复杂类型作为一个参数进行传递。
2、可移动属性:
RMI可将属性从客户机移动到服务器,或者从服务器移动到客户机。
3、设计方式:
对象传递功能使您可以在分布式计算中充分利用面向对象技术的强大功能,如二层和三层结构系统。
如果用户能够传递属性,那么就可以在自己的解决方案中使用面向对象的设计方式。
所有面向对象的设计方式无不依靠不同的属性来发挥功能,如果不能传递完整的对象——包括实现和类型
——就会失去设计方式上所提供的优点。
4、安全性:
RMI使用Java内置的安全机制保证下载执行程序时用户系统的安全。
RMI使用专门为保护系统免遭恶意小程序侵害而设计的安全管理程序。
5、便于编写和使用
RMI使得Java远程服务程序和访问这些服务程序的Java客户程序的编写工作变得轻松、简单。
远程接口实际上就是Java接口。
为了实现RMI的功能必须创建远程对象任何可以被远程调用的对象必须实现远程接口。但远程
接口本身并不包含任何方法。因而需要创建一个新的接口来扩展远程接口。
新接口将包含所有可以远程调用的方法。远程对象必须实现这个新接口,由于新的接口扩展了
远程接口,实现了新接口,就满足了远程对象对实现远程接口的要求,所实现的每个对象都将
作为远程对象引用。
个人总结:
    RMI说白了,就是提供了一种远程的方法调用。 这种调用简单方便,可以传递复杂java对象。现在流行的j2ee中的EJB的底层实现技术就是RMI,EJB的调用就是经过封装的,更高级的RMI调用。
分享到:
评论

相关推荐

    rmi基础知识学习

    rmi不可多得的学习材料!

    rmi学习笔记(1)

    rmi基础知识学习笔记,从最简单的例子讲述rmi的用途

    关于RMI方面的规范知识

    RMI的基础规范,关于RMI方面的规范知识

    rmi技术客户端调用服务器的函数解决问题

    在基础知识基本搞定的基础上,我开始了配置环境,经过两天的奋斗,rmi环境配置终于以失败告终,然后一脸遗憾的去问同学,得到的回答是rmi要配置环境?我一脸懵逼,不要配置环境,jar又放不进去,eclipse又不是神仙,...

    j2ee基础知识

    J2EE简介及学习方法 J2EE基础技术  XML、RMI、JNDI 、JMS

    Java2核心技术卷I+卷2:基础知识(第8版) 代码

    The RMI Programming Model 846 Parameters and Return Values in Remote Methods 856 Remote Object Activation 865 Web Services and JAX-WS 871 Chapter 11: Scripting, Compiling, and Annotation ...

    J2EE基础知识

    J2EE基础技术: XML、RMI、JNDI 、JMS J2EE核心技术: JDBC、EJB(会话Bean、实体Bean、消息Bean)、Servlet和JSP(JSTL、Struts) J2EE其它技术: JTA、JTS、Java Mail等等

    中间件知识点.doc

    关于中间件的一些基础知识,比如什么是RMI?什么是JNDI?等相关概念的一些介绍

    Java远程通讯可选技术及原理

    一篇不可多得的好文章、好资料,受益匪浅。...了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那 深入了解这些技术背后的机制就是必须的了,在这篇文章中我们将来一探究竟。

    Java网络编程第三版

    本书对开发网络程序进行了非常完整的介绍(从应用...扩充了 1/O和多线程等基础知识。还讲述了在不直接编写网络代码时你所能够实现的内容,例如如何用URL实现自己的目标、aPPlet的基本功能以及如何用Swing处理HTML。

    java网络编程_part2

    程的基础知识、套接字编程、非阻塞通信、创建HTTP服务器与客户程序、 数据报通信、对象的序列化与反序列化、Java反射机制、RMI框架、JDBC API、JavaMail API、MVC设计模式、安全网络通信、CORBA和Web服务。另 外...

    JAVA网络编程.第3版.哈诺德著.扫描版.含源码

    本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节涉及到TCP和UDPsocket、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...

    JAVA核心技术卷II:高级特性

     关于Java基础知识的讨论,包括接口与内部类、使用Swing的GUI编程、异常处理.泛型.集合和并发。读者可以查阅《Java核心技术,卷I:基础知识(原书第8版)》(ISBN:978-7-111-23950-5)。  2006、2007年度CSDN、...

    JAVA学习计划和方法

    JAVA学习计划和方法内容包括:AVA语言基础知识。包括异常、IO流、多线程、集合类、数据库。 JAVA网络编程。包括Socket、RMI、HTML、XML、JSP、JavaBean、Servlet......

    java网络编程

    本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节涉及到TCP和UDP socket、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...

    深入掌握J2EE编程技术(卷二)

    本书的特点是在注重系统性和科学性的同时,力求突出其实用性,在介绍相关的编程原理和基础知识的同时,着重利用丰富的实例来演示J2EE编程的细节。 本书主要为J2EE编程技术的开发人员而写,既可作为J2EE的入门教材,...

    深入掌握J2EE编程技术(卷一)

    本书的特点是在注重系统性和科学性的同时,力求突出其实用性,在介绍相关的编程原理和基础知识的同时,着重利用丰富的实例来演示J2EE编程的细节。 本书主要为J2EE编程技术的开发人员而写,既可作为J2EE的入门教材,...

    java教程.rar

    示例描述:介绍并演示J2EE的基础知识。 RMIServer.java 服务器类的代码 RMIClient.java 客户类的代码 第20章 示例描述:介绍并演示学生信息管理系统。 Info_Manage.java 学生信息管理系统的登录页面 ...

    网络编程经典书籍

    本书内容全面涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章集涉及到TCP和UDP socket 、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...

Global site tag (gtag.js) - Google Analytics