要点
在某堆上的对象无法进行另外对上的对象引用。
java Remote Method Invocation(RMI)让你感觉上像是调用远程对象的方法,但其实不是。
当客户端调用远程对象的方法时,其实是调用代理上的方法,此代理被称为stub.
stub是个处理底层网络细节的辅助性对象,它会把方法的调用包装起来送到服务器上。
要创建远程服务的话,你就必须要以远程接口来启动。
远程接口必须要extends过java.rmi.Remote这个接口,且所有的方法都必须声明RemoteException。
你的远程服务会实现远程接口。
远程服务应该要继承UncastRemoteObject(技术上也有其它方法可以创建远程对象,但这是最简单的方法)
远程服务必须要声明RemoteException的构造函数(因为父类的构造函数声明了)。
远程服务的对象必须要向RMI registry注册。
使用静态的Naming.rebind( )来注册远程服务。
RMI registry必须在同一台机器上与远程服务一块执行,且必须在对象的注册之前启动。
客户端会以Naming.lookup( )查询远程服务。
几乎所有与RMI有关的都会抛出RemoteException(编译器会检查)。