在web.xml文件中加入如下配置:
<!-- 刷新Introspector防止内存泄露 -->
<listener>
<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
</listener>
备注:
JDK中的java.beans.Introspector类的用途是发现Java类是否符合JavaBean规范,
如果有的框架或程序用到了Introspector类,那么就会启用一个系统级别的缓存,
此缓存会存放一些曾加载并分析过的JavaBean的引用,
当Web服务器关闭时,由于此缓存中存放着这些JavaBean的引用,
所以垃圾回收器无法回收Web容器中的JavaBean对象,最后导致内存变大。
IntrospectorCleanupListener会在Web服务器停止时清理Introspector缓存,
使那些Javabean能被垃圾回收器正确回收,从而解决程序因为用了Introspector类而导致的内存泄漏问题。