我读过这篇文章: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吗?可以使用什么呢?