rmijava的简单介绍

本文目录一览:

java RMI问题

rmiregistry的默认端口是1099….你这里指定的端口是3000

所以你在CMD中要这样 start rmiregistry 3000

或者将你的Naming.bind(“/localhost:3000/getStudent”, obj);

改为Naming.bind(“rmi://localhost:1099/getStudent”, obj);

额,突然发现你没有在前面加rmi前缀…不知道这个有关系没~~~~

额,查了下,不加rmi前缀也可以,加了rmi前缀后会如果你没有指定端口就会将obj注册到主机上监听1099端口的rmiregistry进程上去…

如果还出现错误就不知道了

java RMI是什么意思啊?

RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。可以用此方法调用的任何对象必须实现该远程接口。调用这样一个对象时,其参数为 “marshalled” 并将其从本地虚拟机发送到远程虚拟机(该远程虚拟机的参数为 “unmarshalled”)上。该方法终止时,将编组来自远程机的结果并将结果发送到调用方的虚拟机。如果方法调用导致抛出异常,则该异常将指示给调用方。

RMI是干什么用的在JAVA里面

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编译器生成。

原创文章,作者:UDDI,如若转载,请注明出处:https://www.506064.com/n/134526.html

(0)
UDDIUDDI
上一篇 2024-10-04
下一篇 2024-10-04

相关推荐

  • 如何将MySQL 5.7升级到MySQL 8.0

    一、备份数据库 在进行任何升级之前,备份数据库是至关重要的。用户应该使用mysqldump或其他备份工具备份数据库,以便在升级过程中出现问题时可以轻松还原数据库。以下是备份命令的示…

    编程 2024-10-03
  • phpjson保存,php生成json数据

    本文目录一览: 1、json数据怎么通过php存入数据库 2、php存入数据库 如何将json格式的数据直接存入mysql数据库 3、PHP json数据写入到json文件,读取j…

    编程 2024-10-04
  • SQL中的NVL函数

    一、SQL NVL2函数 NVL2函数在Oracle SQL中被定义为“如果第一个表达式不为空,则返回第二个表达式;否则返回第三个表达式”。NVL2函数将检查第一个表达式是否为空,…

    编程 2024-10-04
  • 深入浅出chromedriverlinux

    chromedriverlinux是一种用于自动化测试的工具。使用它,您可以模拟用户在浏览器上进行的各种操作,如打开网页,填写表单,点击链接等。本文将从多个方面深入浅出地讲解chr…

    编程 2024-10-03
  • 详解Bellman-Ford算法

    一、算法介绍 Bellman-Ford算法是一种最短路径算法,用于解决带权有向图中的最短路径问题。该算法的核心思想是:在每一轮中,从起点到每个顶点的最短路径逐渐被确定。如果最短路径…

    编程 2024-10-03
  • jsp框架程序源代码(jsp源码之家)

    本文目录一览: 1、给定JSP程序源码如下: 2、JSP的源代码写在哪? 3、jsp 中网站的首页源代码 给定JSP程序源码如下: 这个问题其实就是相当于: int count=1…

    编程 2024-10-03
  • phpwind论坛(phpwind论坛有手机版吗)

    本文目录一览: 1、如何修改phpwind论坛底部信息 2、如何在本地搭建PHPWIND论坛 3、Dvbbs、PHPWind、Discuz论坛是指什么? 4、如何使用PHPWind…

  • Pandas 数据帧中的列类型从字符串转换为日期时间格式

    当我们在 Python 的 Pandas DataFrame 中处理数据时,经常会遇到时间序列数据。Panday 是一个强大的工具,可以在 Python 中处理时间序列数据,我们可…

    编程 2024-10-03
  • java框架搭建,java框架搭建div

    本文目录一览: 1、JAVA SSH框架搭建流程 2、java怎么创建框架 3、北大青鸟java培训:零基础学java容易吗? 4、不同基础转行Java,分别该怎么学习? 5、要什…

    编程 2024-10-03
  • python select 详解

    Python中的select模块为异步I/O提供了高级的交互功能,它是一个标准的UNIX系统调用,可以监控文件描述符(socket、文件句柄等),等待某个或某些文件描述符的状态发生…

    编程 2024-10-03

发表回复

登录后才能评论