harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ivan Volosyuk" <ivan.volos...@gmail.com>
Subject Re: [General VM] GC strategy:how to garbage collect short-lived objects quickly.
Date Tue, 19 Sep 2006 14:55:08 GMT
On 9/19/06, Oliver Deakin <oliver.deakin@googlemail.com> wrote:
> Robin Garner wrote:
> >
> >>>
> >>> I don't understand. How can weak references help short-lived objects
> >>> reclaim?
> >>
> >> Really what I'm saying is that this is the closest thing we have to a
> >> hint to GC that objects can be collected soon - but it is not anything
> >> like a proper free() call. There is no immediate reclaim of memory,
> >> just the possibility that it will be reclaimed soon - and the object
> >> may be garbage collected before you are finished with it!
> >>
> >> Regards,
> >> Oliver
> >>
> >
> > Actually, it's kind of the other way around isn't it ?  Nulling the
> > last pointer to an object tells the GC that it can collect it
> > (explicitly in the case of reference counting), whereas having a Weak
> > Reference to an object says 'please tell me when on-one else wants
> > this object', which results in the object staying around even longer.
>
> Isn't this only the case if you register the WeakReference with a
> ReferenceQueue?
> If you do not do that, then the GC can collect the referent when it
> wants, and you will
> just get a null back from a get() call on any WeakReference object.
> So I imagine that keeping the object weakly reachable and not
> registering it with
> a ReferenceQueue says to the GC "you are free to collect this referent
> object at the
> next collection if you wish".

It is always better not to have any references to an object in heap
then to have a WeakReference to it. The object without references is
simply garbage, while WeakReference is a kind of reference to it and
require handling - updating on object relocation, zeroing when object
no longer reachable.

You cannot speedup object memory reclaming having WeakReference to it.
--
Regards,
Ivan

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message