【发布时间】:2010-09-10 11:19:13
【问题描述】:
Java 虚拟机是否曾经移动内存中的对象,如果是,它如何处理对移动对象的更新引用?
我问是因为我正在探索以分布式方式(即跨多个服务器)存储对象的想法,但出于效率原因,我需要能够在服务器之间移动对象。对象需要能够包含指向彼此的指针,甚至指向远程服务器上的对象。我正在尝试考虑更新对移动对象的引用的最佳方法。
到目前为止,我的两个想法是:
- 在对象的生命周期内保持一个引用间接不会移动,如果对象移动,我们会更新它。但是 - 这些间接是如何管理的?
- 为每个对象保留一个反向引用列表,这样我们就知道在移动对象时必须更新什么。当然,这会产生性能开销。
我对这些方法的反馈以及对替代方法的任何建议感兴趣。
【问题讨论】:
标签: java memory-management garbage-collection jvm