Java远程方法调用,即Java RMI(Java Remote Method Invocation),一种用于实现远程过程调用的应用程序编程接口。它使客户机上运行的程序可以调用远程服务器上的对象。远程方法调用特性使Java编程人员能够在网络环境中分布操作。RMI全部的宗旨就是尽可能简化远程接口对象的使用。  Java RMI极大地依赖于接口。在需要创建一个远程对象的时候,程序员通过传递一个接口来隐藏底层的实现细节。客户端得到的远程对象句柄正好与本地的根代码连接,由后者负责透过网络通信。这样一来,程序员只需关心如何通过自己的接口句柄发送消息。

/*服务端新建接口:*/
public interface RmiTestInterface extends Remote{
public String getTest() throws RemoteException;
}

  

/*接口的实现:*/
public class RmiTestImpl implements RmiTestInterface{public RmiTestImpl() throws RemoteException{}@Overridepublic String getTest() throws RemoteException{return "Hello MM";}public static void main(String[] args) throws RemoteException {RmiTestImpl t=new RmiTestImpl();RmiTestInterface tt=(RmiTestInterface) UnicastRemoteObject.exportObject(t, 0);Registry registry=LocateRegistry.createRegistry(2001);registry.rebind("test", tt);System.out.println("server is start");}}

  

/*client端的主程序*/
public class Client {
public static void main(String[] args){try {Registry registry=LocateRegistry.getRegistry("localhost", 2001);RmiTestInterface t=(RmiTestInterface) registry.lookup("test");System.out.println("Client:"+t.getTest());} catch (RemoteException e) {      e.printStackTrace();}catch (NotBoundException e) {      e.printStackTrace();}
}
}

  

转载于:https://www.cnblogs.com/ipetergo/p/7025727.html

Java中RMI远程调用demo相关推荐

  1. Java:RMI远程调用

    首先服务器端定义服务接口和实现服务,然后服务器端利用RMI协议将服务发布到一个端口上.等待客户端调用. //定义服务接口,服务接口必须继承java.rmi.Remote,服务方法必须抛出java.rm ...

  2. Java中命令行调用大坑

    Java中命令行调用大坑 背景 我司有一个查询服务接口机,QPS大概40~50,调用方式是Java调用Shell命令行的方式,核心代码如下: Process ps = Runtime.getRunti ...

  3. java中没有直接调用matlab的接口函数

    java中没有直接调用matlab的接口函数,在通常的情况下我们是通过借用C++作为中间过程来实现的,使用C++主要是用c与matlab的结构实现c调用matlab的功能,将这些功能函数封装成dll文 ...

  4. JAVA中方法的调用(详细整理)

    JAVA中方法的调用主要有以下几种: 1.非静态方法 非静态方法就是没有 static 修饰的方法,对于非静态方法的调用,是通过对 象来调用的,表现形式如下. 对象名.方法() eg: public ...

  5. java static getclass_如何从Java中的静态方法调用getClass()?

    如何从Java中的静态方法调用getClass()? 我有一个必须有一些静态方法的类. 在这些静态方法中,我需要调用方法getClass()来进行以下调用: public static void st ...

  6. JAVA中方法的调用

    JAVA中方法的调用主要有以下几种: 1.非静态方法 非静态方法就是没有 static 修饰的方法,对于非静态方法的调用,是通过对 象来调用的,表现形式如下. 对象名.方法() eg: public ...

  7. java rmi jrmp_关于Java 中 RMI、JNDI、LDAP、JRMP、JMX、JMS那些事儿(上)看后的一些总结-1...

    1.java rmi 关于rmi客户端和服务端通信的过程,java的方法都实现在rmi服务端,客户端实际上是通过访问rmi注册表拿到stub,然后再通过它调用服务端方法,那么调用方法时要传递参数,参数 ...

  8. 从懵逼到恍然大悟之Java中RMI的使用

    此处讲的是Java中的RMI,而不是通用意义上的RMI,关于通用的RMI可以参考分布式之RPC的协议以及错误处理 这篇文章. 一.Java RMI简介 Java RMI用于不同虚拟机之间的通信,这些虚 ...

  9. JAVA中native方法调用C语言实现学习

    在java虚拟机规范的内存管理划分中,对于虚拟机内存空间划分中专门划了一块内存叫做"本地方法栈(Native Method Stack)".本地方法栈是为了java专门用来调用na ...

  10. java中通过JNA调用dll

    ---恢复内容开始--- 1. JNA简单介绍 先说JNI(Java Native Interface)吧,有过不同语言间通信经历的一般都知道,它允许Java代码和其他语言(尤其C/C++)写的代码进 ...

最新文章

  1. WPF:Animation动画--AnimationTiming动画时机
  2. VC++下使用md5函数
  3. 关于kali相关的参考文章
  4. ajax返回显示下拉列表,ajax中网页传输(二)JSON——下拉列表显示练习(示例代码)...
  5. 基于KEIL的stm32远程在线调试
  6. Ehcache学习笔记(一)基础入门
  7. Python 中函数的 收集参数 机制
  8. Asp.net动态加载控件的一些问题
  9. 语法制导的三地址代码生成程序_ts-creator, 一个生成代码生成器的代码生成器
  10. vue-router配置介绍和使用方法(三)
  11. 【华为云技术分享】Nginx应用调优案例
  12. Spring----AOP的术语
  13. ajax 服务器怎么响应,Ajax 接收服务器返回的json响应方法
  14. 光敏传感器实验-传感器原理及应用实验
  15. GitHub使用教程-官网指南
  16. Ubuntu18.04 wifi不稳定
  17. Cesium设置三维球的视角和位置(中心点)
  18. 关于jQuery UI 使用心得及技巧
  19. 2021日照市地区高考成绩排名查询,日照高中高考成绩排名,2021年日照各高中高考成绩排行榜...
  20. 百度新闻资讯类信息爬虫--统计一年内关键词新闻的条数

热门文章

  1. 2008年入职华为,开始运维生涯
  2. 阿里云,并不是比谁聪明,而是更早面临那些疼痛
  3. BAT架构师推荐的9本程序员技术进阶图书,大家看过多少?
  4. Linux中级之keepalived配置
  5. 「HDU6583 Typewriter」 - 后缀自动机
  6. [总结] LCT学习笔记
  7. 英文的写作 —— 句子的积累
  8. 【随记】还原SQL Server数据库步骤
  9. unistd.h的close(0)导致std::cout被关闭
  10. 将四个按钮放入一个父控件的好处:方便移动,只需要改变父控件的y值,就可移动四个按钮...