gpt4 book ai didi

java - 使用Java RMI时代码在哪里执行?

转载 作者:太空宇宙 更新时间:2023-11-04 07:19:04 28 4
gpt4 key购买 nike

没有任何 Java RMI 经验,我有一个天真的问题,但在搜索互联网后仍然不确定答案。

问题:

对我来说,有两种情况:

场景一:从本地启动一个Java程序,在执行过程中,它调用远程计算机上存储的类中的方法,然后该方法的类将被下载到本地计算机,并继续执行。

场景2:从本地启动一个Java程序,在执行过程中,它调用远程计算机上存储的类中的方法,然后该方法将在远程计算机上执行,并将结果发送回本地计算机。 (这需要类/对象传输吗?)

Java RMI 使用哪一种?或者两者都不是?

来自Wikipedia of RPC :“RPC允许计算机程序使子例程或过程在另一个地址空间(通常在共享网络上的另一台计算机上)执行”,似乎是第二种情况。

但是根据这篇论文Reducing Data Transfer during Remote Classloading in Java RMI ,看来是第一种情况。

最佳答案

使用 RMI 时,您基本上拥有一个在客户端和服务器之间共享的接口(interface)。服务器必须有一个实现,而客户端不应该有这个实现。因此,没有类加载或任何类型的客户端到服务器的逻辑传输,客户端完全不知道服务器接口(interface)的实现。

RMI序列化并传输方法参数,然后执行服务器逻辑,将结果序列化并传输回客户端。

关于java - 使用Java RMI时代码在哪里执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19572020/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com