-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Chuck,

Caldarale, Charles R wrote:
>> From: Christopher Schultz [mailto:[EMAIL PROTECTED] 
>> Subject: Re: Memory leaks on webapp redeploy
>>
>> Last time I checked, Class objects basically never get GC'd,
>> so any static data stays around forever. You have to shut
>> down the VM in order to free that memory.
> 
> Not true - classes do get cleaned up, if there are no references to
> them.

This wasn't the case some time ago. A cleanly written webapp would
double the number of Class objects kept around after a re-deploy
(actually, after an automatic re-deploy, but that shouldn't have mattered).

It's been a while since I profiled any of my apps, but that used to be
the case... after a few days in development of auto-re-loading the
webapps, we'd get an OOM. We could watch the heap fill up with useless
Class objects (for instance, my.package.Class showed up 10 times after 9
restarts, and we don't do anything crazy like keeping Class references
around, singletons, thread locals variables, static class data, etc.).

The only thing I can think of is perhaps Java is keeping introspection
information around and never releasing it. If that's the case, it looks
like a call to java.beans.Introspector.flushCaches() would have fixed my
problem.

I'll look into this, if I can figure out how to get my copy of
OptimizeIt working again. Wow. I really need to get a profiler that was
written in the new millennium, eh?

- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFbFpE9CaO5/Lv0PARArqaAKC3PG1uOU8MbghsntHZxNvaHS1cvgCggJAr
2x6LO1cKa73h9FwdBBBL9mI=
=d4hC
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to