aspose file tools*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Question about GC and Objects Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Question about GC and Objects" Watch "Question about GC and Objects" New topic
Author

Question about GC and Objects

Christian Joseph
Ranch Hand

Joined: Jan 07, 2011
Posts: 43
i stumbled about this Test in SCJP by Kat and bertes . ..

on page 274

Which two are true about the objects created within main(), and eligible for garbage collection when line 14 is reached?

the answer is FIVE objects are created and two object are eligible for GC...

can someone help me
explain please
Naveen Madarapu
Ranch Hand

Joined: May 24, 2011
Posts: 64



if you face this kind of question you need to draw diagram to know which reference is point to which object. which one is eligible to GC.


OCPJP
Christian Joseph
Ranch Hand

Joined: Jan 07, 2011
Posts: 43
i get it now, Thanks! Ms. Naveen Madarapu...

so whenever i say "new Dozens" it will crreate a Dozen Object, PLUS a instance member like the int in the example

then since "d" reference object "NEW DOZENS()" has pointing two f***n thing the "d" and the "d[1]", which is become null, the line broke and then the DOzen of d and the int object, where left on the blackhole

thanks ! did i get it?
Ogeh Ikem
Ranch Hand

Joined: May 13, 2002
Posts: 180
The statement Dozens[] da = new Dozens[3] creates the first object i.e. a Dozens array (1). The statement da[0] = new Dozens() creates 2 objects i.e. a Dozens object (2) and an int array (3). The statement Dozens d = new Dozens() creates 2 objects i.e. a Dozens object (4) and an int array (5). Total objects created is 5.

The statements d = null and da[1] = null make objects (4) and (5) eligible for GC at line 14. Both statements are necessary or else objects (4) and (5) wont be eligible for GC at line 14.

Christian Joseph
Ranch Hand

Joined: Jan 07, 2011
Posts: 43
Ogeh Ikem wrote:The statement Dozens[] da = new Dozens[3] creates the first object i.e. a Dozens array (1). The statement da[0] = new Dozens() creates 2 objects i.e. a Dozens object (2) and an int array (3). The statement Dozens d = new Dozens() creates 2 objects i.e. a Dozens object (4) and an int array (5). Total objects created is 5.

The statements d = null and da[1] = null make objects (4) and (5) eligible for GC at line 14. Both statements are necessary or else objects (4) and (5) wont be eligible for GC at line 14.

THANKS!!! IT REALLY help me alot hearing from you guys!!
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Question about GC and Objects
 
Similar Threads
Page 274 Question 10 about Garbage Collection
Number of objects in Array
Help with Garbage Collection
K&B - Chapter 3 - Self test 10 - GC
Bert Bates Kathy Sierra Java 6 Study Guide