>> allows you to simply snip that top objects existance from the entire system 
>> by simply removing what ever reference there was to the actual top _root 
>> resulting in a cascade of deletes via the internal garbage collection.

that was the whole point of my post - to confirm that this is indeed the case. 

because what you have here is non-deterministic finalization where you rely on 
the GC to clean up all the mess left behind and get rid of any circular 
references (where A = B = C but nothing outside the heap is pointing to any of 
them!).

don't get me wrong - one of the best things to happen to programming is managed 
code and getting rid of the need for memory management (no more malloc() - woo 
hoo!).

so, this leads to two more questions:
Q1) when does the GC run - especially for objects in server scope? I know in 
.NET the GC runs on a low-priority thread...

Q2) can you (in CF or java) force an object to be GC'd:
ie: in VB you can "Set obj = Nothing" to destroy the pointer but you can also 
get rid of it completly with 
  obj.Dispose()
  System.GC.Collect() 
 
(yes, I realise the over head of forcing the GC to do it's job but there *are* 
occasions where it's worthwhile)


and on the subject of terminology, and we shouldn't be afraid of using the "P" 
word - "pointer"

thanx
barry.b


-- 
___________________________________________________________
Sign-up for Ads Free at Mail.com
http://promo.mail.com/adsfreejump.htm

----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev'
in the message of the email.

CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).

An archive of the CFCDev list is available at 
www.mail-archive.com/[email protected]

Reply via email to