46. How many objects are eligible for garbage collection right before the end of the main
method?
1:public class Person {
2:public Person youngestChild;
3:public static void main(String... args) {
4:
5:Person elena = new Person();
6:Person diana = new Person();
7:elena.youngestChild = diana;
8:diana = null;
9:Person zoe = new Person();
10:elena.youngestChild = zoe;
11:zoe = null;
12:}
13:}
A. None
B. One
C. Two
D. Three
Kaç tane nesne hemen main methodunun bitmesinden önce çöp toplayıcısı için uygundur diyo ?
elena -> yeni Nesne;
diana -> yeni Nesne; toplamda 2 adet nesnemiz var.
elena.youngestChild = diana (ile youngestChild) referansı ile diananın işaret ettiği nesneyi işaret ediyorz;
diana = null ile diana artık boş yeri referans ediyor.Ama youngestChild hala diananın 6.satırdaki nesneyi işaret ediyor.;
zoe -> yeni Nesne; toplamda 3 adet nesnemiz oldu;
elena.youngestChild = zoe ile diana'yı referans eden nesnemiz artık zoenin nesnesini işaret ediyor;
zoe=null'u referans ediyor.Artık diananın referans verdiği nesne de boşa çıktı hiç kimse onu işaret etmiyorr.Sadece bir nesne açığa çıktı .
Cevap B.