>> 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]
