Java RMI和RPC有什么区别?
Java RMI和RPC之间的实际区别是什么?
我在某些地方读到过RMI使用对象?
RPC是基于C的,因此它具有结构化的编程语义,另一方面,RMI是基于Java的技术,它是面向对象的。
使用RPC,您可以只调用导出到服务器的远程函数,在RMI中,您可以引用远程对象并调用它们的方法,还可以传递和返回更多可以在许多JVM实例之间分布的远程对象引用,因此它的功能要强大得多。
当需要开发比纯客户端-服务器架构更复杂的东西时,RMI脱颖而出。通过网络分散对象非常容易,使所有客户端能够进行通信,而无需显式建立单个连接。
RPC 和 RMI 之间的主要区别在于 RMI 涉及对象。我们不是通过使用代理函数远程调用过程,而是使用代理对象。
RMI具有更高的透明度,即由于将技术集成到语言中时,对对象,引用,继承,多态性和异常的利用。
RMI也比RPC更高级,允许动态调用,其中接口可以在运行时更改,以及对象适配,它提供了额外的抽象层。