在看 RMI 源码的时候,发现 jdk 本身自带的 src.zip 其实只是部分 jdk 实现的源代码某些 如 sun.rmi.server.UnicastRef.java 是木有包含在上述 src.zip后来上网下载了 OpenJdk6 之后, 能看 UnicastRef.java 也能看 RegistryImpl但是另一个问题又出现了sun.rmi.registry.RegistryImpl_Stub.java 类似于这种的,好像是 RMI 底层关于代理存根的实现源码,却依然,看不到google 了一阵, 发现 gcc 上有一个同样类名的东东,唯一的差别就是,全名是 gnu.java.rmi.registry.RegistryImpl_Stub.java对 gcc 不甚了解,也不清楚这两个类之间有啥子关系现在的需求是,求高手指教如何找到 sun.rmi.registry.RegistryImpl_Stub.java 的 source code 并关联上谢!
import java.rmi.RemoteException;
public interface RObject extends Remote {
void process() throws RemoteException;
}import java.rmi.server.UnicastRemoteObject;
import java.rmi.RemoteException;
public class RObjectImpl extends UnicastRemoteObject implements RObject {
public RObjectImpl() throws RemoteException {
super();
}
public void process() throws RemoteException { }
}
javac *.java
rmic -keep RObjectImpl
就会生成 RObjectImpl_Stub.java,RObjectImpl_Stub.class