gpt4 book ai didi

java - RMI 的动态代理 stub 实现

转载 作者:行者123 更新时间:2023-12-01 06:00:21 25 4
gpt4 key购买 nike

我想了解动态代理 stub 实现实际上是如何在幕后完成的。根据我的阅读,当导出远程对象时,如果没有找到预先生成的 stub 类,RMI 运行时将生成一个动态代理来充当 stub 。然后,该 stub 会绑定(bind)到 RMI 注册表,稍后可由某个 RMI 客户端访问。

问题是:既然 stub 实际上是一个动态生成的代理,它的类定义在客户端是不可用的,那么为什么客户端仍然能够从 RMI 注册表检索 stub 呢?幕后是否发生了某种动态类加载,或者 RMI 是否使用另一种技术来解决这个问题?

最佳答案

Java.lang.reflect.Proxy 是可序列化的,并且在 ObjectOutputStream 和 ObjectInputStream 中具有特殊支持。基本上只是序列化实现的接口(interface)和调用处理程序,并在反序列化期间从中构造一个新的动态代理。

关于java - RMI 的动态代理 stub 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/701672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com