Máy ảo Java có bao giờ di chuyển các đối tượng trong bộ nhớ hay không, và nếu như vậy, nó xử lý việc cập nhật các tham chiếu đến đối tượng được di chuyển như thế nào?Máy ảo Java có di chuyển các đối tượng trong bộ nhớ và nếu như vậy - như thế nào?
Tôi hỏi vì tôi đang khám phá ý tưởng lưu trữ các đối tượng theo kiểu phân phối (nghĩa là trên nhiều máy chủ), nhưng tôi cần khả năng di chuyển đối tượng giữa các máy chủ vì lý do hiệu quả. Các đối tượng cần có khả năng chứa các con trỏ đến nhau, ngay cả đối tượng trên các máy chủ từ xa. Tôi đang cố gắng nghĩ cách tốt nhất để cập nhật các tham chiếu đến các đối tượng được di chuyển.
hai ý tưởng của tôi cho đến nay là:
- Duy trì một nơi tham khảo gián tiếp mà không di chuyển cho các đời của đối tượng, mà chúng tôi cập nhật nếu di chuyển đối tượng. Nhưng - những indirections này được quản lý như thế nào?
- Giữ một danh sách các tham chiếu ngược với từng đối tượng, vì vậy chúng tôi biết những gì phải được cập nhật nếu đối tượng được di chuyển. Tất nhiên, điều này tạo ra một chi phí hiệu suất.
Tôi muốn được quan tâm đến phản hồi về các phương pháp này và mọi đề xuất cho các phương pháp thay thế khác.
Tôi thành thật không thể thấy sự liên quan của .NET remoting và CORBA với điều này. Bạn có thể cung cấp thêm các con trỏ cụ thể không? – sanity
Ngoài ra, thực sự những gì tôi đang tìm kiếm là một giải thích về * cách các hệ thống thu gom rác thải di chuyển các vật thể xung quanh. – sanity
@Sanity - Rob Walker giới thiệu những công nghệ này như một phương tiện để hiểu rõ hơn về chiến lược của họ về lý do tại sao và cách họ làm những việc họ làm. –