Hi,

I have just downloaded NetBeans Profiler to see how my web-app performs and 
realized that it produces serious memory leaks... The interesting part is that 
I have nothing on my JSP but static struts tags (no dynamic content at all) and 
it turned out that the leaks are not made by my application, but made by either 
struts (???) or Tomcat (???) or Java itself, I don't know what...
What I discovered was that a simple page reload leads to eating up my memory 
and - according to the profiler - the memory leak is produced by the 
constructor of java.util.zip.InflaterInputStream allocating more and more 
byte[] objects that cannot be garbage-collected. This class deals with reading 
jar files. If I take a look at the source code I can clearly see that it really 
allocates memory for byte[]:

public InflaterInputStream(InputStream in, Inflater inf, int size) {
    super(in);
        if (in == null || inf == null) {
            throw new NullPointerException();
        } else if (size <= 0) {
            throw new IllegalArgumentException("buffer size <= 0");
        }
    this.inf = inf;
    buf = new byte[size];
}

After browsing through about 80-100 pages I get an OutOfMemory error...

Interesting, huh?

Where should I ask this? On a Java list? Or does this have anything to do with 
Struts (probably not...)?
Any ideas why this happens are welcome...

Regards,

BM



       
____________________________________________________________________________________Be
 a better Globetrotter. Get better travel answers from someone who knows. 
Yahoo! Answers - Check it out.
http://answers.yahoo.com/dir/?link=list&sid=396545469

Reply via email to