posted 16 years ago
Hi, i am just trying to draw the logic here....
1.A s1=new A();
s1--------------->OA1object
2.s1.a1=new A();
s1.a1------------>OA2object(i.e OA1object.a1)
3.s1.a2=s1;
s1--------------->OA1object
^
|
s1.a2----------------
4.s1.a1.a2=new A();
s1.a1.a2---------->OA3object(i.e OA2object.a2)
5.s1.a1.a2.a2=new A();
s1.a1.a2.a2-------->OA4object(i.e OA3object.a2)
6.s1.a1.a2.a2.a1=s1.a1;
7.s1.a1.a2.a2.a1=s1.a1;
s1.a1-------------->OA2object
^
|
s1.a1.a2.a2.a1----------
8.s1.a2.a1.a2=null
s1.a2=s1;
s1.a1.a2=null(i.e OA3object reference is null,so OA3object is eligible for GC)
OA4object is created by invoking OA3object ,since OA3object lost it's reference oA4object is also eligible for Gc
This is what i understood from this program. Please anyone tell me ,is this correct or not?! :roll:
Thanks in advance
Preetha
[ December 16, 2008: Message edited by: Preetha Arun ]
[ December 16, 2008: Message edited by: Preetha Arun ]