Re: how many objects r eligible for garbage Collection ?
Naveen Kumar wrote:
I am confused by someone over object creation in java [sic].. Here is a
sample question..
It's spelled "Java".
class Card {
Why not public?
Short story=5;
Please follow the indentation conventions in order to make your code more
readable.
Why is 'story' not private?
Card go(Card c)
{
c=null;
return c;
}
public static void main(String[] args)
{
Card c1=new Card();
Card c2=new Card();
Card c3=c1.go(c2);
c1=null;
//do stuff;
}
when //do stuff is reached How many Objects are eligible for garbage
Collection ?
Is this homework?
Here's how to solve this one: Identify all the object references in the
program at that point. (Is 'story' one of them?) See which objects /used to
have/ references but no longer do. Those are the ones eligible for GC.
It might help to write down for each line of code which objects exist, and
which ones from previous lines no longer have references to them.
Follow the whole chain - if an object holds a reference to another object,
there's another object to track.
Does c3 occupies memory and is eligible for garbage collection..
What is the value of c3?
Hint: null is not an object.
When we say
Card c3 = null;
Isnt memory allocated to this reference for storing valid object.. and
is now available for gc .. ???
Reference to what? c3 is null, so it doesn't point to any object, valid or not.
Wht [sic] happens in case when i [sic] say Card c3 = null ?? Isnt heap and stack
space utilized ?
What do you mean by "utilized"?
What happens is that the variable 'c3' is cleared of any reference to any object.
--
Lew
You only need /one/ punctuation mark at the end of each sentence!!!...!!!...!!!???
The word "I" in English is capitalized.