Referensi benar-benar lemah, tidak, belum (tapi pembuat browser melihat subjeknya). Tapi di sini ada ide tentang bagaimana mensimulasikan referensi yang lemah.
Anda dapat membuat cache yang digunakan untuk mengarahkan objek Anda. Saat sebuah objek disimpan, cache menyimpan prediksi berapa banyak memori yang akan digunakan objek tersebut. Untuk beberapa item, seperti menyimpan gambar, ini langsung berhasil. Bagi orang lain ini akan lebih sulit.
Saat Anda membutuhkan sebuah objek, Anda kemudian meminta cache untuk itu. Jika cache memiliki objek, itu dikembalikan. Jika tidak ada, maka item dibuat, disimpan, dan kemudian dikembalikan.
Referensi yang lemah disimulasikan oleh item penghapus cache, ketika jumlah total memori yang diprediksi mencapai tingkat tertentu. Ini akan memprediksi item mana yang paling sedikit digunakan berdasarkan seberapa sering mereka diambil, tertimbang dengan berapa lama mereka dibawa keluar. Biaya 'kalkulasi' juga dapat ditambahkan, jika kode yang membuat item tersebut dimasukkan ke cache sebagai penutup. Ini akan memungkinkan cache menyimpan item yang sangat mahal untuk dibuat atau dibuat.
Algoritme penghapusan adalah kuncinya, karena jika Anda melakukan kesalahan ini maka Anda bisa menghapus item yang paling populer. Ini akan menyebabkan kinerja yang buruk.
Selama cache adalah satu-satunya objek dengan referensi permanen ke objek yang disimpan, maka sistem di atas akan bekerja dengan baik sebagai alternatif referensi lemah yang sebenarnya.