Các tham chiếu yếu thực sự, không, chưa (nhưng các nhà sản xuất trình duyệt đang xem xét chủ đề này). Nhưng đây là một ý tưởng về cách mô phỏng các tham chiếu yếu.
Bạn có thể xây dựng một bộ nhớ cache để chuyển các đối tượng của mình đi qua. Khi một đối tượng được lưu trữ, bộ nhớ đệm sẽ giữ một dự đoán về lượng bộ nhớ mà đối tượng đó sẽ chiếm. Đối với một số mục, chẳng hạn như lưu trữ hình ảnh, điều này sẽ được giải quyết ngay. Đối với những người khác, điều này sẽ khó khăn hơn.
Khi bạn cần một đối tượng, bạn sẽ yêu cầu bộ nhớ cache cho nó. Nếu bộ nhớ cache có đối tượng, nó sẽ được trả về. Nếu nó không có ở đó, thì mục sẽ được tạo, lưu trữ và sau đó trả về.
Các tham chiếu yếu được mô phỏng bằng các mục xóa bộ nhớ cache, khi tổng dung lượng bộ nhớ dự đoán đạt đến một mức nhất định. Nó sẽ dự đoán những món đồ nào ít được sử dụng nhất dựa trên tần suất chúng được lấy ra, tính theo thời gian chúng được lấy ra trước đây. Một chi phí 'tính toán' cũng có thể được thêm vào, nếu mã tạo ra mục được chuyển vào bộ đệm ẩn dưới dạng một lần đóng. Điều này sẽ cho phép bộ nhớ cache lưu giữ các mục rất tốn kém để tạo hoặc tạo.
Thuật toán xóa là chìa khóa quan trọng, bởi vì nếu bạn làm sai điều này thì cuối cùng bạn có thể xóa các mục phổ biến nhất. Điều này sẽ gây ra hiệu suất khủng khiếp.
Miễn là bộ nhớ đệm là đối tượng duy nhất có các tham chiếu vĩnh viễn đến các đối tượng được lưu trữ, thì hệ thống trên sẽ hoạt động khá tốt như một sự thay thế cho các tham chiếu yếu thực sự.