介绍一下RMI的基本概念


Posted in 面试题 onDecember 17, 2016
什么是RMI
RMI(Remote Method Invocation)远程方法调用是一种计算机之间对象互相调用对方函数,启动对方进程的一种机制,使用这种机制,某一台计算机上的对象在调用另外一台计算机上的方法时,使用的程序语法规则和在本地机上对象间的方法调用的语法规则一样。
RMI的用途
1、分布式体系结构 为什么要使用分布式计算呢?
当我们想与多个用户或客户机共享一个中央资源(如一个数据库)时,就会使用分布式计算。
分布式计算用来利用多个系统的组合计算能力,以便比在单个系统上更有效或更快地解决问题。
可以用多种方法配置多个计算机系统以共享处理,包括共享内存、共享磁盘或只是共享一条公共通信通道。最新的技术允许物理上相隔很远的系统能够在处理计算问题时协同工作。
关于利用计算能力这一主题,因特网及伴随的通信协议 TCP/IP 的出现已使无数的计算机系统史无前例地连接起来。对一些应用程序来说,能够利用如此多的计算功能来解决问题是令人满意的。甚至更吸引人的是,大多数计算机系统都有充足的空闲时间,可以帮助解决其它问题。将来,网格计算会利用分布式计算能力进行出售,这与电力行业出售电能非常相似。
2、Java分布式对象编程技术
RMI是Enterprise JavaBeans的支柱,是建立分布式Java应用程序的方便途径。只要按照RMI规则设计程序,可以不必再过问在RMI之下的网络细节了,如:TCP和Socket等等。任意两台计算机之间的通讯完全由RMI负责。调用远程计算机上的对象就像本地对象一样方便。
RMI应用程序分类
依据RMI应用程序各部分职责,可对应用程序进行如下分类:
服务器程序:服务器程序将创建多个远程对象,并使每个对象能够被引用。等待客户端调用创建好的远程对象上的方法。
客户端程序:从服务端程序中得到一个或多个远程对象的引用。客户端能用此引用调用远程对象上的方法。
对等计算程序:双方地位相等,互为对方的服务器和客户端。

Tags in this post...

面试题 相关文章推荐
C语言笔试题
Sep 04 面试题
不开辟用于交换数据的临时空间,如何完成字符串的逆序
Dec 02 面试题
C/C++程序员常见面试题一
Dec 08 面试题
一个C/C++编程面试题
Nov 10 面试题
ORACLE十问
Apr 20 面试题
Linux管理员面试经常问道的相关命令
Apr 29 面试题
介绍一下linux的文件权限
Jul 20 面试题
介绍一下JNDI的基本概念
Jul 26 面试题
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
Oct 31 面试题
JVM是一个编译程序还是解释程序
Sep 11 面试题
同步和异步有何异同,在什么情况下分别使用他们
Apr 09 面试题
送给程序员的20个Java集合面试问题
Aug 06 面试题
JSP和EJB可以共享HttpSession么?EJB里面可以改变session里面的内容
Jun 05 #面试题
敏捷开发的主要原则都有哪些
Apr 26 #面试题
什么是规则表达式
May 03 #面试题
软件设计的目标是什么
Dec 04 #面试题
设计模式的基本要素是什么
Apr 21 #面试题
传统软件工程与面向对象的软件工程有什么区别
May 31 #面试题
为什么要做架构设计
Jul 08 #面试题
You might like
OAuth认证协议中的HMACSHA1加密算法(实例)
2017/10/25 PHP
PHP简单验证码功能机制实例详解
2019/03/27 PHP
基于Laravel-admin 后台的自定义页面用法详解
2019/09/30 PHP
PHP与Web页面交互操作实例分析
2020/06/02 PHP
cssQuery()的下载与使用方法
2007/01/12 Javascript
如何获取select下拉框的值(option没有及有value属性)
2013/11/08 Javascript
JavaScript实现的简单拖拽效果
2015/06/01 Javascript
js实现的二级横向菜单条实例
2015/08/22 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
详解Nodejs基于mongoose模块的增删改查的操作
2016/12/21 NodeJs
javascript实现简易计算器
2017/02/01 Javascript
webpack打包node.js后端项目的方法
2018/03/10 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
2018/10/26 Javascript
Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
2018/11/25 Javascript
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
2019/08/16 Javascript
vue在响应头response中获取自定义headers操作
2020/07/24 Javascript
可拖拽组件slider.js使用方法详解
2020/12/04 Javascript
批处理与python代码混合编程的方法
2016/05/19 Python
Python复制Word内容并使用格式设字体与大小实例代码
2018/01/22 Python
Python错误处理操作示例
2018/07/18 Python
Python实现数值积分方式
2019/11/20 Python
Python之变量类型和if判断方式
2020/05/05 Python
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
MCAKE蛋糕官方网站:一直都是巴黎的味道
2018/02/06 全球购物
美国婚礼装饰和活动用品批发供应商:Event Decor Direct
2018/10/12 全球购物
Hibernate持久层技术
2013/12/16 面试题
十佳大学生村官事迹
2014/01/09 职场文书
微型企业创业投资计划书
2014/01/10 职场文书
运动会通讯稿150字
2014/02/15 职场文书
我为自己代言广告词
2014/03/18 职场文书
农村面貌改造提升实施方案
2014/03/18 职场文书
餐厅感恩节活动策划方案
2014/10/11 职场文书
Oracle设置DB、监听和EM开机启动的方法
2021/04/25 Oracle
python实现调用摄像头并拍照发邮箱
2021/04/27 Python
Python中seaborn库之countplot的数据可视化使用
2021/06/11 Python
MySQL 执行数据库更新update操作的时候数据库卡死了
2022/05/02 MySQL