Re: Use of finalize methods in WO
Re: Use of finalize methods in WO
- Subject: Re: Use of finalize methods in WO
- From: Chuck Hill <email@hidden>
- Date: Thu, 21 Aug 2008 09:49:09 -0700
On Aug 21, 2008, at 8:47 AM, Nilton Lessa wrote:
On 21/08/2008, at 12:06, Alex Horovitz wrote:
On Aug 21, 2008, at 9:51 AM, Nilton Lessa wrote:
:-) In this report there are pearls like : "Webobjects is a
framework in disuse". ...sigh....
In disguise??? Back when I was at NeXT we called it the WebObjects
Framework. Not really much of a disguise if you have it in the f'n
name.
Maybe I hadn't choosen the right word to translate their spetacular
analysis: "Webobjects is a framework not being used anymore". And
this conclusion comes from a large technology consulting company.
With a strong interest in the continued use of only the technology
THEY consult on!
I have heard of lots of "reasons" to not use WO, but these guys are
really desperate, ignorant, and reaching deep by analyzing the GC on a
WO app! "A little knowledge is a dangerous thing." Perhaps they have
been reading this http://www.ibm.com/developerworks/java/library/j-jtp01274.html
Finalizers are not your friend
Objects with finalizers (those that have a non-trivial finalize()
method) have significant overhead compared to objects without
finalizers, and should be used sparingly. Finalizeable objects are
both slower to allocate and slower to collect. ...
If you must use finalizers, there are a few guidelines you can
follow that will help contain the damage. Limit the number of
finalizeable objects, which will minimize the number of objects that
have to incur the allocation and collection costs of finalization. ...
Just for fun, I went look for uses of finalize() in WO. I found four:
1 WOSessionStore - called exactly once per instance per JVM run
2. EOClassDescription - called (IIRC) about once per entity per
instance per JVM run
3. EOEditingContext - this will get called for every EC you create, it
is needed to break object references and speed GC
4. WOAnyField - used so rarely I had not even heard of it and had to
look it up
So it seems that WO follows the guidelines above. Their sauce is
very, very weak. If that is the _worst_ point then can come up with
against WO, then that is one of the strongest arguments _for_ using WO
that have heard!
Perhaps they are using grep and seeing calls to methods like
_finalizeInContext() which has _NOTHING_ to do with Java finalization.
Myself, I'd laugh in their face.
Chuck
--
Chuck Hill Senior Consultant / VP Development
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems.
http://www.global-village.net/products/practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden