tomcat泄漏:静态类变量

时间:2012-05-25 10:59:47

标签: java jsp tomcat servlets memory-leaks

我读过这篇文章:http://wiki.apache.org/tomcat/MemoryLeakProtection#staticClassVariables

文章说:

  

当应用程序停止时,Tomcat(甚至在6.0.24之前)会使应用程序无效   由类加载的类的所有静态类变量的值   WebAppClassLoader。在某些情况下,它可能会修复类加载器泄漏(for   例子,因为自定义ThreadLocal类,见上文),但即使   我们仍然有泄漏,它可能会减少内存丢失量:

Imagine a class with the following variable :

private final static byte[] BUFFER = new byte[1024*1024]; //1MB buffer

Normally, the 1MB buffer should be freed when the app is stopped,
 but only if the classloader itself can be garbage-collected. Since
     

仍有可能泄漏类加载器,   清除BUFFER变量可以恢复1MB的内存。

我们可以不使用staticClassVariables吗?可以使用什么呢?

0 个答案:

没有答案