Trong Java có cấu trúc dữ liệu được gọi là WeakHashMap lưu trữ các tham chiếu yếu dưới dạng khóa. Bất cứ khi nào các tham chiếu yếu được lấy ra khỏi bộ nhớ, mục nhập sẽ bị xóa khỏi bản đồ.Java: Ngăn xếp với tham chiếu yếu
Nếu tôi có cấu trúc dữ liệu như Ngăn xếp hoặc Tập hợp nơi tôi lưu trữ các tham chiếu yếu, các mục nhập của chúng có bị xóa tự động khi tham chiếu yếu được lấy ra khỏi bộ nhớ không?
Dưới đây là ví dụ về Ngăn xếp lưu trữ các tham chiếu yếu.
Stack<WeakReference<Object>> objStack = new Stack<WeakReference<Object>>();
Uh, vâng ... ... – esej
Bạn có chắc chắn rằng nó sẽ không trả lại giá trị null không? – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
Nếu bạn đang nghĩ đến việc sử dụng các tham chiếu yếu cho một ứng dụng thực, xin vui lòng ** đừng làm điều đó **! Những người xây dựng thư viện cốt lõi hối tiếc khi thêm họ vì họ không cung cấp bất kỳ lợi ích nào. Xem [bản trình bày] này (http://www.infoq.com/presentations/Extreme-Performance-Java) nếu bạn quan tâm. – Augusto