有谁知道如何使用Java代码移动性强 http://en.wikipedia.org/wiki/Code_mobility?你以前做过吗?
这就是我试图实现的目标。
假设我们有 2 个通过网络通信的独立 Java 应用程序。应用程序 A 和应用程序 B。
App A 有一个类 x 实例化为对象,并且一直在使用它。 App B 没有该类 x 的先验知识。
应用程序A需要迁移instance类 x 转移到应用程序 B。应用程序 B 应该能够动态加载类 x,并保留statex 类。
我用 Google 搜索了一下,发现了很多关于如何在运行时动态加载类的资源。但是,我不确定是否涵盖了通过网络传输对象实例及其状态以及动态调用它的机制。
任何指点都会非常有帮助,提前感谢您!
NOTE:我最感兴趣的是how(即方法、思考方式)这个问题解决了,而不是what用于解决这个问题;这是因为我的任务是提出自己的解决方案来解决这个问题。虽然指出库/框架很棒,但如果答案是由以前做过类似事情的人(无论多么罕见)发布的,那将是理想的选择。
您要求强移动性,但您的要求是通过弱移动性来满足的,弱移动性是由 RMI 协议提供的,但有一些限制。 RMI 不仅支持 RPC、对象序列化和分布式对象图,还支持通常使用的代码共享,以便客户端可以加载只有服务器已知的类的字节码并在本地执行该字节码。
Java 不支持强移动性,我想不出一种方法来实现它而不对 VM 进行专有扩展。本质上,Java 上下文中的强移动性意味着您挂起或暂停一个 VM 中的线程,将从该线程可访问的所有对象实例、执行所需的潜在字节码以及内部线程 st(调用堆栈等)传输到不同的 VM 并使其重新创建线程状态并在原始 VM 中线程暂停的位置继续执行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)