RMI简介、实现与注意事项

RMI的简单介绍。 这里是修真院后端小课堂,本篇分析的主题是 【RMI的简单介绍。】 每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析后端知识/技能,本篇分享的是: 【RMI的简单介绍。】 大家好,我是IT修真院郑州分院第11期的学员何爽,一枚正直纯洁善良的后端程序员,今天给大家分享一下,修真院官网java(职业)任务8,... 阅读详情

一 .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程序的6个步骤:
1、定义一个远程接口的接口,该接口中的每一个方法必须声明它将产生一个RemoteException异常。
2、定义一个实现该接口的类。
3、使用RMIC程序生成远程实现所需的残根和框架。
4、创建一个服务器,用于发布2中写好的类。
5. 创建一个客户程序进行RMI调用。
6、启动rmiRegistry并运行自己的远程服务器和客户程序。
二. 程序详细说明
1.定义一个远程接口的接口,该接口中的每一个方法必须声明它将产生一个RemoteException异常。
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface I_Hello extends java.rmi.Remote   //需要从Remote继承
{
       public String SayHello() throws RemoteException;   //需要抛出remote异常
}

   上面例子我们定义一个返回字符串的远程方法 SayHello(),这个远程接口 I_Hello必须是public的,它必须从java.rmi.Remote继承而来,接口中的每一个方法都必须抛出远程异常java.rmi.RemoteException。

抛出这个异常的原因
由于任何远程方法调用实际上要进行许多低级网络操作,因此网络错误可能在调用过程中随时发生。
因此,所有的RMI操作都应放到try-catch块中。
2、定义一个实现该接口的类。
import java.io.PrintStream;
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;
public class Hello extends UnicastRemoteObject   //必须从UnicastRemoteObject  继承
                   implements I_Hello
{
        public Hello() throws RemoteException     //需要一个抛出Remote异常的默认初始化方法
        {
        }
        public String SayHello()     //这个是实现I_Hello接口的方法
        {
           return "Hello world !!";
        }
}
实现接口的类必须继承UnicastRemoteObject类。
扩展java.rmi.server.UnicastRemoteObject
UnicastRemoteObject顾名思义,是让客户机与服务器对象实例建立一对一的连接。
3、使用RMIC程序生成远程实现所需的残根Stub 和 框架。
   2中的Hello 编译好以后,我们就可以用RMIC命令来生成残根Stub
   在Dos窗口里,到Hello.class 所在目录,运行以下命令:
   rmic Hello
   命令执行完以后,将会在当前目录生成一个 Hello_Stub.class 这个就是我们远程调用时需要的类
参考:
在RMI中,客户机上生成的调动调用参数和反调动返回值的代码称为残根。有的书上称这部分代码为“主干”。
服务器上生成的反调动调用参数和进行实际方法调用调动返回值的代码称为框架。
生成残根和框架的工具
Rmic命令行工具(RMI Compiler)
格式:
Rmic classname
4、创建一个服务器,用于发布2中写好的类。
    import java.rmi.*;
public class RMI_Server
{
    public static void main(String[] args)
    {
        try
        {
            Hello hello = new Hello();                //实例化要发布的类
            Naming.rebind("RMI_Hello", hello);      //绑定RMI名称 进行发布
            System.out.println("=== Hello server Ready === ");
        }
        catch(Exception exception)
        {
            exception.printStackTrace();
        }
    }
}
5. 创建一个客户程序进行RMI调用。
import java.rmi.*;
public class RMI_Client {
    public static void main(String[] args) {
        try
        {
           I_Hello hello = (I_Hello) Naming.lookup("RMI_Hello");  //通过RMI名称查找远程对象
            System.out.println(hello.SayHello());                        //调用远程对象的方法
        } catch (Exception e)
        {
          e.printStackTrace();
        }
    }

}

Naming.lookup("RMI_Hello") 其中的参数“RMI_Hello”只是针对本机的RMI查找,如果是异地的RMI调用请参照  rmi://127.0.0.1:1099/RMI_Hello       端口1099是默认的RMI端口,如果你启动 rmiregistry 的时候(见第6点)没有指定特殊的端口号,默认就是1099
到此 我们 所有的代码编写都完成了,不过不要急着去运行,请跟随第6点去运行,因为rmi 调用还会遇到一些特别的情况,偶花了牛劲,才找到原因的,许多刚用RMI的人,常常被这些问题搞得吐血
6、启动rmiRegistry并运行自己的远程服务器和客户程序。
1)服务器的运行
    先在DOS下运行 rmiregistry     这个命令是开启RMI的注册服务,开启以后我们的server程序才能调用rebing方法发布我们的类
    然后,运行我们的server程序  RMI_Server    这里是最容易出错的,参见下面注意事项。
     注意:
         如果提示找不到Stub类,这个需要用下面的命令来运行
java.exe -Djava.rmi.server.codebase=file:/E:/MIS_Interface/momo/TestEasy/classes/  RMI_Server
蓝字部分指定了stub类的路径。
  有人会问,我已经把stub 通过-classpath 加到类路径里面了,为什么还没有提示这个错误呢?原因是这样的:这里提示的找不到stub类,不是由你写的RMI_Server这个程序引起的,是由rmi注册服务器报告的异常,也就是我们前面启动的 rmiregistry ,因为你写的RMI_Server 要求RMI注册服务器注册一个新的类,自然RMI服务器必须知道你的类放在哪里,所以我们通过  -Djava.rmi.server.codebase 这个运行参数来指定
  你也可以通过修改操作系统的classpath 环境变量来指定stub的位置,只不过太麻烦
2) 客户端的运行
      直接运行RMI_Client  即可  注意 把 Stub 和接口 I_Hello 加到类路径里
    通常第一次运行客户端都会报一个错误:   Access  XXXX 不记得具体的了,反正就是“访问权限限制”,这是因为RMI的服务需要授权,外部程序才能访问,所以我们要改动 jre的安全配置文件,来开放权限,  具体如下:
   打开你的jdk目录下的这个文件 C:/Program Files/Java/jdk1.5.0_04/jre/lib/security/java.policy
在文件最后加入下面代码:
grant {
           permission java.net.SocketPermission "*:1024-65535",
                "connect,accept";
           permission java.net.SocketPermission "*:80","connect";
        };
此代码,开放了端口的connect访问权限
注意 你应该修改服务器那台机子的安全配置文件,也就是你运行 rmiregistry 和 RMI_Server的机子
另外,很多人修改完以后,仍然报这个错误,多数情况是由于你没有修改到正确的jdk 下的文件,而是修改到其他jdk的文件,我们安装oracle , Weblogic等等软件的时候都会自带一个 jdk,他们会自动在操作系统的环境变量里面加入jdk的路径,所以,你先要确定你运行服务器端程序是用哪个jdk,再修改这个jdk下的配置文件,确定当前jdk的路径很简单  开始 -》运行-》rmiregistry 看看这个DOS窗口标题 的路径,就是你当前系统默认jdk的路径了
客户端正常运行以后,就会出现以下结果:
Hello world !!

这些字符是通过RMI调用远程服务器的类返回的结果

 

 

三、注意事项

1. 如果提示【access denied (java.net.SocketPermission 127.0.0.1:2221 connect,resolve)】之类的错误多是因为访问权限限制的原因,参照2.6.2即可解决。

2. 在命令行执行【rmiregistry】太麻烦,可以改为在服务器代码中使用【LocateRegistry.createRegistry(2221);】

3.

 

RMI应用开发与调试指南 本文介绍了RMI应用的调试方法和开发规范。调试方面包括:通过JVM属性记录服务器调用日志、文件日志记录机制及安全权限配置,客户端可通过非标准属性获取调试信息。开发规范要求远程接口必须继承java.rmi.Remote,所有方法需声明抛出RemoteException,参数和返回值仅支持基本类型、远程对象引用或可序列化对象。实现类可选择继承UnicastRemoteObject或手动导出对象,需注意构造函数和异常处理的差异。文章还提供了完整的远程接口示例和类型系统约束建议。 阅读详情

相关推荐

利用RMI实现远程文件读取功能

在RMI架构中,远程接口扮演着至关重要的角色,它定义了一个Java接口,该接口中的方法可以通过网络被远程调用。一个远程接口的特点包括:必须扩展自接口。所有方法必须声明抛出。参数和返回类型必须是可序列化的,以便通过网络传输。远程接口的作用在于,它为客户端提供了一个明确定义的合约,指明了哪些服务是可用的,以及如何通过网络调用这些服务。这种抽象对于实现分布式系统中的服务提供和消费至关重要。为了避免远程调用中断整个程序流程,开发者应该实现自定义的异常处理机制。

weixin_30533301的博客 632

探秘分布式神器RMI:原理、应用与前景分析(一)

RMI(Remote Method Invocation)是一种用于实现远程过程调用的Java API。它允许在分布式系统中的不同Java虚拟机上执行方法调用,就像在本地执行一样。RMI具有以下特性:透明性:RMI对于开发人员来说是透明的,他们可以像调用本地方法一样调用远程方法,无需关心底层的网络通信细节。传输层独立性:RMI可以在不同的传输层协议上运行,如TCP/IP、HTTP等。一对一通信:RMI采用点对点的通信方式,即客户端和服务器之间是一对一的通信关系。

凛鼕将至的博客 1830

深入理解Java RMI远程调用机制

本文详细介绍了Java RMI(远程方法调用)的工作原理,包括客户端和服务端的通信过程,RMI调用与本地方法调用的区别,以及如何使用RMI进行远程服务的创建和调用。文章还通过实例展示了如何制作远程接口、实现远程服务、启动RMI注册表和服务端,以及客户端如何获取存根对象。

weixin_29885875的博客 490

RMI协议详解

RMI(Remote Method Invocation,远程方法调用)是Java中的一种远程通信协议,用于实现跨网络的对象方法调用。RMI协议基于Java的分布式计算,可以让客户端程序调用远程服务器上的方法,使得分布在不同机器上的对象能够通过网络进行通信。RMI协议的实现基于Java的远程对象技术,其中远程对象需要继承java.rmi.UnicastRemoteObject类,并定义远程方法。

技术人集结地 3472

从零构建:基于OpenCV与人体姿态分析的跌倒检测实战(附完整源码)

本文详细介绍了如何从零构建基于OpenCV与人体姿态分析的跌倒检测系统,包含完整源码与部署指南。通过MediaPipe实时检测33个人体关键点,结合多条件联合判断算法,实现高精度跌倒识别。文章还提供了性能优化技巧、常见问题解决方案以及家用与养老院两种部署方案,帮助开发者快速落地这一计算机视觉应用。

weixin_29085151的博客 240

从SPI到JTAG:玩转FT2232H的MPSSE多协议切换指南(附配置代码)

本文详细介绍了如何利用FT2232H芯片的MPSSE技术实现SPI与JTAG协议的无缝切换,提供配置代码和调试技巧。通过解析MPSSE引擎架构和硬件特性,帮助开发者灵活应对多种串行协议需求,提升嵌入式开发效率。特别适合FPGA调试和物联网设备开发场景。

sun99的博客 256

java rmi 安全管理器_rmi初步----安全管理器的使用

1、客户端连接到服务器可能被其他服务器监听已经可能会受到病毒文件,客户端需要进行安全管理器的设置2、客户端安全管理器的设置(1)、在main方法中System.setProperty("java.security.policy", Main.class.getResource("client.policy").toString());System.setSecurityManager(new RM...

weixin_39800112的博客 287

华为使用MicroG安装并使用Google服务教程

鉴于众多华为手机用户因无法使用Google服务而感到不便,我经过多次摸索和测试,总结了一份简单易懂的教程,希望能够帮助到大家。无论是需要使用Google Play商店下载应用,还是需要使用Google服务进行工作和学习,本文将详细介绍如何在华为手机上安装并使用Google服务。二、前置条件软件要求:Aurora Store(替代Google Play商店)、MicroG Companion、MicroG Server(替代Google框架)

weixin_41926602的博客 3万+

RMI介绍

RMI 是 Java 中的一种技术,全称为远程方法调用(Remote Method Invocation)。它的作用是允许你在不同的 Java 虚拟机(JVM)之间进行通信,就像在同一个 JVM 中调用方法一样,调用远程方法。这些虚拟机可以在不同的主机上、也可以在同一个主机上。RMI 是 Java 的一组拥护开发分布式应用程序的 API。RMI 使用 Java 语言接口定义了远程对象,它集合了 Java 序列化和 Java远程方法协议(Java Remote Method Protocol)。

weixin_68408599的博客 1464

【漏洞复现】永恒之蓝 MS17-010 远程溢出漏洞(CVE-2017-0143)

文章目录声明前言一、漏洞原理简述二、漏洞代码深层解析三、实验步骤四、漏洞补丁总结 声明 本篇文章仅用于技术研究与技术学习,切勿用于非授权下攻击行为,切记! 前言 Windows7 存在 MS17-010 永恒之蓝(远程溢出漏洞) ,该漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码 一、漏洞原理简述 MS17-010漏洞出现在Windows SMB v1中的内核态函数 srv!SrvOs2FeaListToNt 在处理FEA(File Ex

李同學AI安全 9629

Calibre LVS 问题解析

LVS常见问题与解决办法

m0_61544122的博客 2万+

Java RMI详解

java远程方法调用

怀揣梦想,努力前行 10万+

YOLO模型部署RK3588多核NPU并行加速完整教程:基于线程池的高性能AI推理实现

本教程详细介绍了如何在RK3588平台上实现多核NPU并行加速的AI推理方案。RK3588搭载3个独立NPU核心,总算力达6TOPS,支持单核、双核和三核三种工作模式。文章深入解析了NPU硬件架构特点,包括核心独立处理能力、内存带宽分配及多核心协作机制,并提供了C++代码示例展示核心负载均衡、任务调度和内存优化策略。通过线程池技术可以有效利用多核NPU并行计算能力,显著提升AI推理性能,特别适合高并发场景。教程还包含内存子系统的瓶颈分析和性能预估方法,为开发者提供完整的优化思路。

LXY_LOVE36的博客 797

rmi远程调用被拒绝_简单的RMI实现

1.分布式计算机基本理解什么是分布式计算?简单来说,就是“由于任务量巨大,一台计算机无法短时间内完成,所以把一个任务分给其他一台甚至多台计算机来完成”2.分布式计算与通信的区别很好理解,通信是client和server之间互相发送信息;而分布式计算是一台计算机调用其他计算机的方法或者发布任务,然后接收返回结果。分布式计算肯定是要通信的,但通信只是手段不是目的。3.分布式体系结构模型最简单的分布式是...

weixin_39631953的博客 355

C#实现OPC客户端与S7-1200 PLC通信:工控场景稳定通信的实战指南(附完整代码)

标准化优先:OPC UA是工业通信的标准,相比直接通信,更适合多设备集成的工控场景;稳定性第一:必须封装断线重连、异常处理、资源释放逻辑,满足7×24小时运行需求;效率优化:高频采集场景优先用批量读写,避免单个变量频繁请求;细节把控:节点ID、变量类型、端口配置等细节是新手最容易踩坑的地方,建议先用UA Expert验证。这套代码和方案已在多个工业项目中落地,从单台S7-1200到多台S7-1200/1500集群,都能稳定运行。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1041

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

什么是rmi?为什么要使用rmi框架?

大家好,我是IT修真院武汉分院第13期的学员石奥林,一枚正直纯洁善良的JAVA程序员。今天给大家分享一下,修真院官网JAVA任务8的知识点——Spring RMI   Java小课堂 1.背景介绍 2.知识剖析 3.常见问题 4.解决方案 5.编码实战 6.扩展思考 7.参考文献 8.更多讨论 1.背景介绍 RMI全称是Remote Method Invocation-远程...

qq_26892215的博客 1592

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

rmi的执行流程

定义并实现远程接口。服务器创建远程对象并注册到RMI注册表。客户端通过注册表查找远程对象。客户端调用方法,通过Stub和网络传输到服务器。服务器执行方法并返回结果给客户端。RMI虽然简单易用,但由于性能和复杂性问题,现代分布式系统更多使用RPC框架(如gRPC)或RESTful API。如果你有具体问题或想深入某部分,可以告诉我!

qq_63553317的博客 940

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

RMI

RMI RMI(Remote Method Invocation,远程方法调用)是用Java在JDK1.2中实现的,它大大增强了Java开发分布式应用的能力。Java作为一种风靡一时的网络开发语言,其巨大的威力就体现在它强大的开发分布式网络应用的能力上,而RMI就是开发百分之百纯Java的网络分布式应用系统的核心解决方案之一。其实它可以被看作是RPC的Java版本。但是传统RPC并不能很好地应用于...

weixin_41924879的博客 868

RMI基础教程及构建一个最简单的RMI系统

      RMI是Java对象进行远程访问的一种规范——也就是说,从Java虚拟机(Java Virtual Machine,JVM)而不是特定对象的主机访问。这些对象可能位于拥有JVM的同一个物理主机上,或者位于其他计算机上,并通过某个网络连接到宿主主机(服务器)。规范包括这些对象进行编码的规则,如何定位对象,如何远程调用,方法的参数和计算结果如何在JVM之间传递。RMI的缺省实现是 JRMP

1114

黑马程序员_Java RMI

------- android培训、java培训、期待与您交流! ---------- RMI RMI概述 RMI介绍 RMI是Java的一组拥护开发分布式应用程序的API。RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol)。简单地说,这样使原先的程序在同一操作系统的方法调用,

zhengzhongjie1990的专栏 658

Fanuc 机器人rmi 功能

Fanuc 机器人的是一种强大的通信功能,允许外部设备(如 PLC、PC、HMI 或 ROS 系统)通过与机器人控制器进行和。读取/写入机器人寄存器(R, I/O, 位置寄存器, 系统变量等)。监控机器人状态(运行/停止、报警、程序行号)。启动/停止程序。选择并执行指定宏程序。触发特定动作(如工具开关)。基于 TCP/IP 协议,响应速度通常在毫秒级。

ZPC8210的博客 1336

【Java知识】java进阶-RMI(Remote Method Invocation)远程方法调用相关知识

首先,需要定义一个远程接口,这个接口继承自接口,并且其方法必须声明抛出。这个接口定义了可以远程调用的方法集。RMI的原理可以概括为:通过定义远程接口和实现远程对象,利用存根和骨架(或动态代理)在网络上进行方法调用的序列化和反序列化,以及通过RMI注册表或命名服务来定位和查找远程对象。这些组件和步骤共同协作,实现了跨JVM的远程方法调用。需要注意的是,RMI依赖于Java序列化机制来传输对象,并且使用TCP/IP协议进行网络通信。首先,我们需要定义一个远程接口,这个接口将声明可以被远程调用的方法。

wendao76的专栏 1331

java rmi

搬运维基百科的代码,已实际测试过。记录下一些注意事项 远程服务接口需要继承java.rmi.Remote 接口方法需要申明抛出java.rmi.RemoteException, 接口方法参数或返回值的class类型需要实现序列化接口即java.io.Serializable或者为八种基本数据类型。 远程调用时是通过序列化的方法传递数据,int类型可能会被转换为double类型 远程调...

github_37235807的博客 463

rmi远程调用被拒绝_Java基础--RMI

RMI (Remote Method Invocation,远程方法调用)是Java一组拥护开发分布式应用程序的API,用于不同虚拟机间的通信,核心是远程对象RMI通信模型:1、客户端调用辅助对象stub上方法2、stub对调用信息(变量、方法)打包,网络发给服务端辅助对象3、(1.2前)skeleton将stub送来的信息解包,找到被调方法的对象及本身4、调用服务端对象上的方法,将结果返回给sk...

weixin_39599081的博客 430

java rmi 存根源码_一个简单的RMI程序 [原创]

今天写了一个简单的RMI程序一、开发工具 eclipse3.1JDK1.4二、目录结构E:\SHIWEI\STUDY\RMI│ .classpath│ .project│├─bin│ └─com│ └─snoics│ └─study│ └─rmi│ └─information│...

weixin_34471172的博客 254
userly
博客等级 码龄20年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值