RMI的stub扮演了什么样的角色?
参考答案:
在RMI(Remote Method Invocation)中,stub(存根)扮演了远程对象的本地代表或代理的角色。它是远程对象在客户端的代理,允许客户端调用远程对象的方法,而无需了解远程对象的具体实现和位置。
具体来说,当客户端需要调用远程对象的方法时,它会通过调用本地stub的方法来间接调用远程对象的方法。本地stub会将调用请求封装成适合网络传输的格式,并将其发送到远程对象所在的服务器上。在服务器端,有一个与远程对象相对应的skeleton(骨架)对象,它会接收到客户端发送的调用请求,并将其转发给实际的远程对象进行处理。
因此,stub在RMI中起到了桥接客户端和远程对象的作用,使得客户端可以像调用本地对象一样调用远程对象的方法,从而实现了远程方法的调用。同时,stub还负责处理网络通信和序列化等底层细节,使得客户端可以更加专注于业务逻辑的实现。