geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevan Miller <kevan.mil...@gmail.com>
Subject Re: Starting Geronimo with More PermGen
Date Mon, 14 Sep 2009 19:07:58 GMT

On Sep 14, 2009, at 1:29 PM, Quintin Beukes wrote:

> I assume that if you have a reference to one of these classes from
> outside the application then it can prevent some classes to be GC'ed,
> like a static reference you created in some global class? Is this
> mostly the case, or is it more specialized?

That's pretty much it. All it takes is a strong reference to any  
application object (object instance, class, etc). This reference will  
prevent the ClassLoader from being GC'ed. And this in turn will  
prevent all of the Classes loaded by the ClassLoader from being GC'ed.  
These strong references can come from ThreadLocals, statics, non- 
static references, or even stack references.

Once you've generated a .hprof file, using post-mortem analysis, you  
can identify the causes of the memory leaks...

--kevan


Mime
View raw message