如何理解 这里的 Tomcat中的ThreadLocal引发的内存泄漏 这篇文章提到了ThreadLocal内存泄漏的问题(当然现在的Tomcat版本应该不会有这样的问题了): [https://zhuanlan.zhihu.com/p/146410261](https://link.segmentfault.com/?enc=hUQbPaPFXMabVPM1rQp3%2Fw%3D%3D.TZeuRYdSiQwEPY7UJE25a%2BR2QEohlJdzWvUEFWT%2FWakIlvRzWJaRk3i0NQVSx6V6), 不理解 “LeakingServlet 持有static 的MyThreadLocal ,导致myThreadLocal 的生命周期跟LeakingServlet 类的生命周期一样长。 ” Tomcat卸载应用的时候 LeakingServlet 和WebAppClassLoader 不应该一起被卸载了吗? LeakingServlet 不会被卸载吗? 按照我的理解: ClassLoader被卸载的前提是 他的class已经被卸载了。 但是 我们 更应该将 class和他的classLoader 作为一个整体, 如果class没有被引用 那么class可以被卸载,对应他的classLoader 可以被卸载。 Tomcat卸载引用, LeakingServlet 也应该被卸载吧? > > [https://cwiki.apache.org/confluence/display/tomcat/MemoryLeak...](https://link.segmentfault.com/?enc=oqC%2BX%2B8wkSBofdNdL%2FFTAg%3D%3D.Vu4v3O8vH%2F%2FLFg1AO1y3r8i5yc9USM0hGakUqTUTnssv34zkaYLUOT8JgddrLfusOYKvSRBdYVu5Kes84n5MUQpHHkNTzm8eHfd32h7ug%2BWgJqAUlahIBSqTK%2FqhG84zfPLRNlR%2FoKkcUdk8SlPWGF77r%2FaXpyLshWA4yPSD%2FyI%3D) d