简述对RPC、RMI的理解

简述对RPC、RMI的理解。小编来告诉你更多相关信息。简述对RPC、RMI的理解本文为你介绍简述对RPC、RMI的理解的内容,具体详情如下:RPC:在本地调用远程的函数,远程过程调用,可以...

简述对RPC、RMI的理解。小编来告诉你更多相关信息。

简述对RPC、RMI的理解

本文为你介绍简述对RPC、RMI的理解的内容,具体详情如下:

  • RPC:在本地调用远程的函数,远程过程调用,可以跨语言实现 httpClient
  • RMI:远程方法调用,Java中用于实现RPC的一种机制,RPC的Java版本,是J2EE的网络调用机制,跨 JVM调用对象的方法,面向对象的思维方式 直接或间接实现接口 java.rmi.Remote 成为存在于服务器端的远程对象,供客户端访问并提供一定的 服务 远程对象必须实现java.rmi.server.UniCastRemoteObject类,这样才能保证客户端访问获得远程对象 时,该远程对象将会把自身的一个拷贝以Socket的形式传输给客户端,此时客户端所获得的这个拷贝称 为“存根”,而服务器端本身已存在的远程对象则称之为“骨架”。其实此时的存根是客户端的一个代理, 用于与服务器端的通信,而骨架也可认为是服务器端的一个代理,用于接收客户端的请求之后调用远程 方法来响应客户端的请求。

简述对RPC、RMI的理解-图1

代码如下:

public interface IService extends Remote {    String service(String content) throws RemoteException;}public class ServiceImpl extends UnicastRemoteObject implements IService {    private String name;    public ServiceImpl(String name) throws RemoteException {        this.name = name;    }    @Override    public String service(String content) {        return \"server >> \" + content;    }}public class Server {    public static void main(String[] args) {        try {            IService service02 = new ServiceImpl(\"service02\");            Context namingContext = new InitialContext();            namingContext.rebind(\"rmi://127.0.0.1/service02\", service02);        } catch (Exception e) {            e.printStackTrace();        }        System.out.println(\"000000!\");    }}public class Client {    public static void main(String[] args) {        String url = \"rmi://127.0.0.1/\";        try {            Context namingContext = new InitialContext();            IService service02 = (IService) namingContext.lookup(url +                    \"service02\");            Class stubClass = service02.getClass();            System.out.println(service02 + \" is \" + stubClass.getName());//com.sun.proxy.$Proxy0            Class[] interfaces = stubClass.getInterfaces();            for (Class c : interfaces) {                System.out.println(\"implement\" + c.getName() + \" interface\");            }            System.out.println(service02.service(\"hello\"));        } catch (Exception e) {            e.printStackTrace();        }    }}

以上是网关于简述对RPC、RMI的理解的IT小经验,希望能为您在生活中带来帮助!

阅读前请先查看【免责声明】本文内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅供展示。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 1217266901@qq.com 举报,一经查实,本站将立刻删除。 转载请注明出处:https://www.jingfakeji.com/tech/34512.html

上一篇 2023年11月06日 09:08
下一篇 2023年11月06日 09:08

相关推荐

  • Linuxsshpass命令的用法

    Linuxsshpass命令的用法。小编来告诉你更多相关信息。Linux一篇方法教程,与您分享Linux的IT知识,下面为您详细介绍介绍sshpass是一个工具,用于通过SSH连接到远程服务器时自...

    2024年02月06日
    7
  • 简述dubbo的分层设计

    简述dubbo的分层设计。小编来告诉你更多相关信息。简述dubbo的分层设计跟大家说一说简述dubbo的分层设计的相关经验,请看下面详细的介绍。Service,业务层,就是咱们开发的业务...

    2024年02月06日
    6
  • Redis事务实现原理(深入解析Redis事务的实现机制)

    深入解析Redis事务的实现机制,Redis事务实现原理。小编来告诉你更多相关信息。Redis事务实现原理关于这方面的知识你知道吗?Redis事务实现原理方面的内容,下面为您详细介绍事务开始MULTI命令的执行,标识着...

    2024年02月06日
    6
  • 实际工作中哪里用到了自定义注解的方法

    实际工作中哪里用到了自定义注解的方法。小编来告诉你更多相关信息。实际工作中哪里用到了自定义注解的方法小编为大家解答实际工作中哪里用到了自定义注解的方法的相关知识,下面小编为您详细解答自定义注解可以标...

    2024年02月05日
    3
  • SpringBean的生命周期

    SpringBean的生命周期。小编来告诉你更多相关信息。Spring文章摘要:Spring方面的介绍,具体详情如下:既然聊到SpringBean的生命周期,首先,我们要知道的是JavaB...

    2024年01月10日
    10
  • SpringAOP/IOC实现原理

    SpringAOP/IOC实现原理。小编来告诉你更多相关信息。Spring正文核心介绍:Spring的内容,一起跟随小编看看吧!AOP什么是AOP通俗的讲就是当你想要实现对象增强,就可以使用AOP...

    2024年01月10日
    9

联系我们

在线咨询: QQ交谈

邮箱:1217266901@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信