Java® kodlama dilinde, programlayıcı bu referansların farkında olmasa bile sürekli olarak nesnelere, dizelere ve değişkenlere referanslar yapılır. Bu referanslar, gereksiz bilgileri toplayan ve artık çöpe atmayan, artık belleği kapamayan bir işlev olan doğrudan çöp toplayıcıyla iletişim kurar. Varsayılan olarak, tüm referanslar güçlü referanslardır ve herhangi bir kodlama olmadan ayarlanır, yani çöp toplayıcıya serbest bırakılmazlar. Yumuşak bir referans, verilerin atılmasını sağlar. Tüm güçlü olmayan referanslar için orta seviye referanstır.
Bir programcı Java® ile bir şey yaptığında, bir dize yapmak ya da karmaşık işlevler oluşturmak kadar basit olunca bir referans yapılır. Programcının referans komutu yazması gerekmez; referans otomatik olarak yapılır ve varsayılan olarak güçlü bir referanstır. Bu, referanstan elde edilen verilerin atılamayacağı anlamına gelir, çünkü bunlar tüm komut dosyası için gereken integral nesnelere bağlıdır.
Yine de bazı verilerin atılması gerekir, çünkü aksi halde çok fazla hafıza kaplarlar. Örneğin, bir programcı seri numaralarının kullanıldığı ya da diğer geçici bilgi parçalarının toplandığı ya da yaratıldığı bir komut dosyası oluşturursa, bu bilgiyi tutmak zararlı olur. Java® programı gerekli olmadığında bile bilgiyi atmayı reddeder ve senaryo çalışması için daha fazla belleğe ihtiyaç duyar.
Kod içine yerleştirilmesi gereken yumuşak bir referans olarak bir dize veya bölüm belirtilmesi, bu, çöp toplayıcısına verinin serbest bırakılabileceğini bildirir. Serbest bırakıldıktan sonra dize veya bölüm "boş" olarak okunur. Çöp toplayıcı, ayarlarına bağlı olarak, verilerin ne zaman atılması gerektiğine karar verecektir.
Üç güçlü olmayan referans vardır: yumuşak referans, zayıf referans ve hayalet referans. Zayıf referans en zayıf olandır ve verileri hızlı bir şekilde atılır. Geçici verilerin birkaç kez kullanılabildiği betikler için en iyi yazılım referansları sıradadır. Bir hayalet referans neredeyse bir saniye içinde otomatik olarak atılır ve az miktarda kullanılmalıdır.
Yumuşak bir referansın kalma süresinin uzunluğu genellikle bilgisayardaki bellek miktarına bağlıdır. Hafıza doluysa, çöp toplayıcı ilk önce tüm zayıf referansları imha edecektir. Tüm zayıf referanslar kaybolduğunda ve hafızanın hala verileri temizlemesi gerekiyorsa, daha sonra yumuşak referanslar atılacaktır.


