在没有任何 Java RMI 经验的情况下,我有一个幼稚的问题,但在搜索互联网后仍然不确定答案。
问题:
在我看来,有两种情况:
场景1:从本地启动一个Java程序,在执行过程中,它从存储在远程机器上的类中调用一个方法,然后将该方法的类下载到本地机器,并继续执行。
场景2:从本地启动一个Java程序,在执行过程中,它从存储在远程机器上的类中调用一个方法,然后该方法将在远程机器上执行,并将结果发送回本地机器. (这需要类/对象转移吗?)
Java RMI 使用哪一个?或者都不是?
来自RPC 的维基百科:“RPC 允许计算机程序使子程序或过程在另一个地址空间(通常在共享网络上的另一台计算机上)执行”,这似乎是第二种情况。
但是根据这篇论文Reducing Data Transfer during Remote Classloading in Java RMI,这似乎是第一种情况。