可运行的Java RMI示例和踩坑总结
简述 资料参考: https://docs.oracle.com/javase/tutorial/rmi/overview.html https://blog.csdn.net/bigtree_3721/article/details/50614289 https://stackoverflow.com/questions/11273353/java-rmi-and-classnotfoundexception RMI特点 Java原生提供 可以根据一个名字来获取远程对象 调用远程对象的方法时,RMI屏蔽了底层通信细节,与远程通信就像调用本地方法一样 远程动态加载类的定义,这是RMI非常独特的功能 远程对象 面向接口,接口的实现类可以位于不同的JVM,这些用于远程调用的实现类称为 remote objects (远程对象)。 远程对象有如下特征: 实现接口 java.rmi.Remote 对象中的每个方法必须声明可能抛出 java.rmi.RemoteException RMI对于从另一个虚拟机传递过来的远程对象视为和本地对象一样。客户端使用stub来作为远程对象的代理,对stub进行方法调用,会反映到远程对象的方法调用上,stub对象实现了与远程对象相同的接口。 使用RMI构建分布式应用 后续简称提供远程调用服务的为服务端,使用远程服务的为客户端。 有如下步骤: