> Hope this will help you. It will, thank you. Now I can sleep better... ;)
I now understand why the GC is regarded as being "the beast" in JVM: this reference graph traversal seems really time consuming, isn't? I always imagined this process like somehow more "local". It instead is basically walking every and each object reference to discover unreferenced objects, right? I suppose this also means some per-instance helping fields must be handled in the internal representation of object instances. In example, I suppose objects are in a list, with possibly next and previous instance pointers in each list item, and possibly two further next and previous pointers to construct a "list of deleteables", from which instances are removed every time a reference points to them during tree traversal. Regards, Giampaolo