"Hai, Amigo!"

"Hei, Ellie. Awak ada sesuatu yang menarik nak beritahu saya?"

"Hari ini kita akan bercakap tentang berapa lama objek kekal dalam ingatan, juga dikenali sebagai jangka hayat objek. Selepas objek dicipta, ia wujud (hidup) selagi sekurang-kurangnya satu pembolehubah menyimpan alamatnya (terdapat sekurang-kurangnya satu rujukan kepadanya). Jika tiada lagi rujukan, objek itu mati. Berikut adalah beberapa contoh:"

public class MainClass
{
   public static void main (String[] args)
   {
    Tommy
     Cat cat = new Cat("Tommy");
     cat = null;
    
    Sammy
     Cat cat1 = new Cat("Sammy");
    Missy
    Cat cat2 = new Cat("Missy");
    cat2 = cat1;
    
    Ginger
    cat1 = new Cat("Ginger");
    cat2 = null;
    
    
   }
}

"Objek Tommy wujud untuk hanya satu baris daripada penciptaannya. Satu-satunya pembolehubah yang merujuk objek ditetapkan kepada nol dalam baris seterusnya, jadi objek itu dimusnahkan oleh Mesin Maya Java (JVM)."

"Objek Sammy disimpan dalam pembolehubah cat1 selepas ia dicipta. Atau, lebih tepat, pembolehubah menyimpan rujukan kepadanya. Beberapa baris kemudian, rujukan ini disalin ke cat2 . Kemudian rujukan kepada objek lain disimpan ke cat1 . Kini, hanya cat2 merujuk Sammy . Akhir sekali, baki rujukan terakhir kepada objek ditetapkan kepada null dalam baris terakhir kaedah utama."

"Objek Missy wujud hanya untuk satu baris selepas penciptaannya. Dalam baris seterusnya, pembolehubah cat2 ditetapkan kepada nilai lain, dan rujukan kepada Missy hilang. Objek tidak boleh diakses lagi, jadi ia dianggap sampah oleh sistem (iaitu objek mati)."

"Setelah dibuat, objek Halia wujud sehingga kaedah tamat. Pada akhir kaedah, pembolehubah cat2 dimusnahkan, dengan Halia dimusnahkan serta-merta selepas itu."

"Saya faham."

"Tetapi jika kita mencipta objek Cat di dalam kaedah dan menyimpan rujukan kepadanya dalam pembolehubah contoh, maka objek Cat akan wujud selagi ia dirujuk oleh objek lain yang masih hidup."

"Sebenarnya, objek biasanya tidak dimusnahkan dengan serta-merta oleh sistem. Mesin Maya Java menjalankan 'pengumpulan sampah' dari semasa ke semasa, memusnahkan objek yang telah ditanda untuk dipadam. Lebih lanjut mengenai proses itu kemudian."

"Dan, jika kita tidak lagi mahu pembolehubah merujuk objek, kita boleh menetapkannya kepada null , atau memberikannya rujukan kepada objek lain."