rmi是干啥用的在java里面

author author     2023-03-21     746

关键词:

RMI是J2EE的网络机制,允许你编写分布式对象,使得对象的通信范围能够在内存中,跨Java虚拟机,跨物理设备
RMI-IIOP遵循了接口和实现的原则。你写的所有网络代码都是应用于接口,而不是实现。实际上,你必须使用RMI-IIOP中的范例,没有其它的选择。直接在你的对象实现上执行远程调用是不可能的,你只能在对象类的接口上单独进行这一操作。

所以我们在使用RMI-IIOP时,你必须建立一个客户接口,叫做remote interface。这个远程接口应该扩展java.rmi.Remote接口。

RMI应用程序通常包括两个独立的程序:服务器程序和客户机程序。典型的服务器应用程序将创建多个远程对象,使这些远程对象能够被引用,然后等待客户机调用这些远程对象的方法。而典型的客户机程序则从服务器中得到一个或多个远程对象的引用,然后调用远程对象的方法。RMI为服务器和客户机进行通信和信息传递提供了一种机制。

在与远程对象的通信过程中,RMI使用标准机制:stub和skeleton。远程对象的stub担当远程对象的客户本地代表或代理人角色。调用程序将调用本地stub的方法,而本地stub将负责执行对远程对象的方法调用。在RMI中,远程对象的stub与该远程对象所实现的远程接口集相同。调用stub的方法时将执行下列操作:(1) 初始化与包含远程对象的远程虚拟机的连接;(2) 对远程虚拟机的参数进行编组(写入并传输);(3) 等待方法调用结果;(4) 解编(读取)返回值或返回的异常;(5) 将值返回给调用程序。为了向调用程序展示比较简单的调用机制,stub将参数的序列化和网络级通信等细节隐藏了起来。在远程虚拟机中,每个远程对象都可以有相应的skeleton(在JDK1.2环境中无需使用skeleton)。Skeleton负责将调用分配给实际的远程对象实现。它在接收方法调用时执行下列操作:(1) 解编(读取)远程方法的参数;(2) 调用实际远程对象实现上的方法;(3) 将结果(返回值或异常)编组(写入并传输)给调用程序。stub和skeleton由rmic编译器生成。
参考技术A RMI是网络应用,可以编写分布式对象,定义了一组远程接口,可以用于生成远程对象。客户机可以象调用本地对象的方法一样用相同的语法调用远程对象 参考技术B 远程通信 参考技术C RMI是JAVA里面的一个控件。 参考技术D 分布式开发

laravel 里面的 bootstrap 文件夹是干啥用的?

】laravel里面的bootstrap文件夹是干啥用的?【英文标题】:Whatisthebootstrapfolderinsidelaravelfor?laravel里面的bootstrap文件夹是干什么用的?【发布时间】:2014-07-1702:08:09【问题描述】:我最近学习了laravel,随着我的学习,我决定将bootstr... 查看详情

我的世界里面海绵是干啥用的?

1.8以下没有用,,在服务器通常作为类似比特币来买卖之类的。。1.8以上可吸水,放熔炉里可以烧出水参考技术A如果水碰到它就会被吸走。是海绵可以被溶炉烘干。 参考技术B1.8以上可以吸水1.8以下没卵用 参考技术C吸水 参考技... 查看详情

eclipse菜单里面的clean和build是干啥用的

参考技术Aeclipse菜单里面的clean和build的作用是:1、clean的功能,一般是用来清理项目中错误的文件的,比如工程中导入后配置了正确的classpath,但是依然报错,那么就启用clean清理一下就可以正常编译了2、build的意思就是构建,... 查看详情

vender文件夹下的文件是干啥用的

参考技术Avendor里面有重要的系统文件,。system里面的vendor和/根目录里面的vendor是一样的。其/vendor/app里面是apk程序~都是系统很重要的文件, 查看详情

sql里面的orderby语句是干啥用的?

参考技术Aorderby为排序表达式,用于指定排序的依据,它可以是字段名也可以是字段别名。例--.对成绩表先按课程编号,再按成绩,然后按学号排列select*from成绩表orderby课程编号,成绩,学号--.查询成绩表中成绩最高的前五条记录... 查看详情

OverrideAuthenticationAttribute 是干啥用的?

】OverrideAuthenticationAttribute是干啥用的?【英文标题】:WhatOverrideAuthenticationAttributeisfor?OverrideAuthenticationAttribute是干什么用的?【发布时间】:2014-12-2009:33:30【问题描述】:我在当前的WebAPI项目中遇到了一个标有System.Web.Http.Overrid... 查看详情

htmldiv里面的auto是干啥用的?

auto就是根据浏览器的渲染而给她赋值。意思就是浏览器内置的值赋给它,或者是继承下来的值赋给它。auto在‘这里’是没有意义的,只有在实际使用的环境中才能讨论。比如:.boxwidth:auto;heigght:30px;这里的意思就是,box这个容器... 查看详情

unity中layout是干啥用的

参考技术AUnity里经常设置一些UI图标,比如按钮,文本框,图片框等等。通常是用GUI.BUTTON()类似这种,括号里面要声明这个UI的位置,需要加个Rect()。而Layout是一种系统自动绘制UI的方法,让你的图标不会重叠位置;就等于默... 查看详情

这个“1342177280”标志是干啥用的?

】这个“1342177280”标志是干啥用的?【英文标题】:Forwhatsthis"1342177280"flagfor?这个“1342177280”标志是干什么用的?【发布时间】:2020-11-0403:02:32【问题描述】:我有一些代码sn-p用于打开带有以下标志的whatsappIntentintent=new... 查看详情

layout是干啥用的?

PCBLAYOUT是指画PCB图,但是也有别的行业LAYOUT。但是不管什么行业。LAYOUT都是绘图的意思。就是看绘什么图而已。参考技术A我们所说的PCBLAYOUT是指画PCB图 查看详情

c语言里面stdio.h这个是干啥用的

参考技术Astdio.h就是指“standardinput&output"意思就是说标准输入输出头文件!所以了,用到标准输入输出函数时,就要调用这个头文件!调用:#include<stdio.h>或#include"stdio.h"需要预处理的语句:intgetchar()//从标准输入... 查看详情

ASM——“%”是干啥用的?

】ASM——“%”是干啥用的?【英文标题】:ASM-Whatis"%"usedfor?ASM——“%”是干什么用的?【发布时间】:2012-02-1106:38:24【问题描述】:汇编中的“%”有什么用?例如,有时一条指令写成:movl%eax,%ebx其他时候写成:movleax,eb... 查看详情

dll和lib文件都是干啥用的?怎么用在vc++里面?

1、DLL是特殊的可执行文件,一般和.EXE联合使用2、LIB是需要和源代码一块编译使用,此时任然需要DLL3、将来软件发行就不需要LIB文件,但需要DLL文件4、一般说来,API,SDK等,实际上给你提供的是一系列DLL,LIB文件参考技术ADLL和LIB... 查看详情

RippleDrawable 遮罩颜色,它是干啥用的?

】RippleDrawable遮罩颜色,它是干啥用的?【英文标题】:RippleDrawablemaskcolor,whatisitfor?RippleDrawable遮罩颜色,它是干什么用的?【发布时间】:2015-08-1321:20:24【问题描述】:在提到适用于AndroidL的RippleDrawablehttps://developer.android.com/refe... 查看详情

java里hibernatecallback()是干啥用的

java里HibernateCallback()是干什么用的网上说是什么hibernate的复杂使用,可还是没看懂什么情况下用HibernateCallback()?参考技术AHibernateCallback()是一个回调方法,在hibernate框架下,对数据库的一种操作,其实它使用很简单的,用这个方法是为... 查看详情

rel=profile 是干啥用的?

】rel=profile是干啥用的?【英文标题】:Whatrel=profileisfor?rel=profile是干什么用的?【发布时间】:2013-05-1406:20:45【问题描述】:在为我的新模板编写HTML时,我偶然发现了一个新的元标记<linkrel="profile"href="http://gmpg.org/xfn/11"/>这... 查看详情

~/.npm 目录是干啥用的?

】~/.npm目录是干啥用的?【英文标题】:whatis~/.npmdirfor?~/.npm目录是干什么用的?【发布时间】:2013-01-2807:53:53【问题描述】:我已经安装了全局npm包jslint它就在这里$ls-la/usr/local/bin/jslintlrwxr-xr-x1lustadmin40Feb1215:31/usr/local/bin/jslint-&g... 查看详情

mysqlconvert(unameusinggbk)是干啥用的?

convert是转换,usingGBK是使用GBK编码这句话的意思就是吧uname这一列转换为GBK编码,应该是为了更好的支持中文吧参考技术A将uname字段转成gbk编码 查看详情