Re: how many objects r eligible for garbage Collection ?
Naveen Kumar wrote:
Naveen Kumar wrote:
class Card {
Lew wrote:
Why not public?
Why not default ? Does it cost you if I dont use public ?
Do you have some trouble answering other people's questions, or do you regard
Usenet as your personal private help desk?
I asked so I could understand, and perhaps learn from your reasoning. Aren't
you willing to share your insights?
Short story=5;
Please follow the indentation conventions in order to make your code more
readable.
Make sense to certain extent, but this code was for example and it
cannot be used in eclipse to get the expected answer.
Huh? What does that have to do with indenting so that the people you're
asking for help have an easier time providing it?
Why is 'story' not private?
By not using 'private' is your privacy lost ? Cant Java variable be
declared without being private ?
Boy, you sure are unwilling to participate in discussion, aren't you?
Why are you so averse to providing your insights and reasoning?
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?
You never had any doubts in your life ? You dont have to sit in high
school to get your doubts cleared.
So that's a "yes"?
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.
Yes, but the confusion began because of it. What in case if i
do not initialize the object as null. Have you ever tried using an
variable without initializing it ? Like
Card c3;
This will throw error where as
Card c3 = null;
will never throw the error. Something happens in background. What
exactly happens which make this work and not the previous one ?
This is explained in the Java Language Specification (JLS).
The variable 'c3' must be assigned either an object reference or null.
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.
What exactly do you call c3 now if not object ? If c3 is not an
object, what is it ?
It's a variable. Variables and objects are different things.
Wht [sic] happens in case when i [sic] say Card c3 = null ?? Isnt heap and stack
space utilized ?
What do you mean by "utilized"?
If you do not understand the word "utilized", guess you can sit and
recollect your class 2 course.
Boy, /that/ was rude. I was trying to understand your question, but you come
back with snide hostility. O-kaaay.
What happens is that the variable 'c3' is cleared of any reference to any object.
Well, everyone knows about that. But the question was something else.
Funny, you were asking what happens, so I told you. It wasn't clear from your
question that you already knew the answer.
Thanks but no thanks for your grammatical correction. You were
expected to answer technical stuff rather than grammar corrections.
Answer the technical question if you can, else you can continue with
your work.
My, my, we're bossy today! I am just astounded by how rude you are.
It is certainly not anyone's job on Usenet to answer your questions, nor even
to acknowlege them. This is a *discussion* group, not a help desk. You are
not winning friends and influencing people with your high-handed attitude,
Dale Carnegie.
Why don't you lay off the arrogance and participate in the discussions like a
participant, hm?
--
Lew