缓冲泄露

spring中提供了一个名为org.springframework.web.util.IntrospectorCleanupListener的监听器。它主要负责处理由JavaBeans Introspector的使用而引起的缓冲泄露。

描述

它是一个在web应用关闭的时候,清除JavaBeans Introspector的监听器.在web.xml中注册这个listener.可以保证在web 应用关闭的时候释放与掉这个web 应用相关的class loader 和由它管理的类

如果你使用了JavaBeans Introspector来分析应用中的类,Introspector 缓冲中会保留这些类的引用.结果在你的应用关闭的时候,这些类以及web 应用相关的class loader没有被垃圾回收.

不幸的是,清除Introspector的唯一方式是刷新整个缓冲.这是因为我们没法判断哪些是属于你的应用的引用.所以删除被缓冲的introspection会导致把这台电脑上的所有应用的introspection都删掉.

需要注意的是,spring 托管的bean不需要使用这个监听器.因为spring它自己的introspection所使用的缓冲在分析完一个类之后会被马上从javaBeans Introspector缓冲中清除掉.

应用程序中的类从来不直接使用JavaBeans Introspector.所以他们一般不会导致内部查看资源泄露.但是一些类库和框架往往会产生这个问题.例如:Struts 和Quartz.

单个的内部查看泄漏会导致整个的web应用的类加载器不能进行垃圾回收.在web应用关闭之后,你会看到此应用的所有静态类资源(例如单例).这个错误当然不是由这个类自身引起的.

###配置方式
在web.xml中添加,防止内存泄露

<listener>
<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
</listener>

源码地址

https://github.com/je-ge/spring

如果觉得我的文章或者代码对您有帮助,可以请我喝杯咖啡。
您的支持将鼓励我继续创作!谢谢!

Spring 菜鸟教程 IntrospectorCleanupListener相关推荐

  1. Spring Boot 菜鸟教程 12 EasyPoi导出Excel下载

    GitHub src="//ghbtns.com/github-btn.html?user=je-ge&repo=spring-boot&type=watch&cou ...

  2. python九九乘法表菜鸟教程_Python

    Python 批量 png 转 ico 一.前言: 首先说一下ico文件的作用:ico是windows的图标文件格式,可以用于浏览器首段图标显示,也可以用于Windows软件.我的话一般用来美化文件夹 ...

  3. Spring Boot 教程(三): Spring Boot 整合Mybatis

    教程简介 本项目内容为Spring Boot教程样例.目的是通过学习本系列教程,读者可以从0到1掌握spring boot的知识,并且可以运用到项目中.如您觉得该项目对您有用,欢迎点击收藏和点赞按钮, ...

  4. python scrapy菜鸟教程_scrapy学习笔记(一)快速入门

    安装Scrapy Scrapy是一个高级的Python爬虫框架,它不仅包含了爬虫的特性,还可以方便的将爬虫数据保存到csv.json等文件中. 首先我们安装Scrapy. pip install sc ...

  5. JS实例学习笔记——w3cschool+菜鸟教程

    基础实例--w3cschool write() document.write("this is a string");//生成普通文本 document.write("& ...

  6. html class 位置,HTML class 属性 | 菜鸟教程

    HTML class 属性 实例 在 HTML 文档中使用 class 属性: 菜鸟教程(runoob.com) h1.intro {color:blue;} p.important {color:g ...

  7. 【译】Spring官方教程:使用STS的入门指南

    原文:Working a Getting Started guide with STS 译者:hanbin 校对:Mr.lzc 这个指南引导您使用 Spring Tool Suite (STS) 去构 ...

  8. python3菜鸟教程中文-我的python学习方法和资源整理,干货分享

    怎么自学python 现在是真正的干货开始了 我实习的时候,python完全零基础,我看的第一个入门资料是一个视频教程,我觉得非常不错,分享给大家 Python教程_400集Python从入门到精通教 ...

  9. 菜鸟教程python3-Python数据分析,学习路径拆解及资源推荐

    原标题:Python数据分析,学习路径拆解及资源推荐 关于Python数据分析,其实网上能够找到的学习资源很多,主要分为两类: 一类是提供各种资源的推荐,比如书单.教程.以及学习的先后顺序: 另一类是 ...

  10. python菜鸟教程官网绘图-NumPy Matplotlib

    NumPy Matplotlib Matplotlib 是 Python 的绘图库. 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案. 它也可以和图形工具包一起使用,如 P ...

最新文章

  1. 基因测序、生物信息分析平台工作站硬件配置推荐2020
  2. 6.QML动画——状态与过渡
  3. c#中在规定时间弹出窗体
  4. 使用GLSL实现雾化的效果
  5. Intel汇编语言程序设计学习-第三章 汇编语言基础-中
  6. 海量路由表能够使用HASH表存储吗-HASH查找和TRIE树查找
  7. 前端学习(3203):复习类相关知识
  8. [leetcod] Clone Graph
  9. 笨猪猪:“暹粒游记”(下)
  10. wincc v7.3中文版安装教程
  11. 计算机月考分析报告,月考成绩分析总结与反思范文5篇
  12. C盘清理方法汇总:SpaceSniffer与Windows.edb
  13. Leetcode热门100之两数之和
  14. 计算机参数含义,电脑内存条参数各有什么含义?
  15. crosscheck(crosscheck是什么意思)
  16. 安装完ps2019显示计算机丢失,安装ps2019时出现错误代码146
  17. TFVC解锁被其他成员占用的文件
  18. 源码解读 Spring中Bean扫描的原理
  19. minst手写数字识别(带界面)
  20. Django部署 阿里云CentOS 8+Nginx+uWsgi

热门文章

  1. 《shell脚本学习指南》学习笔记之入门 一
  2. EndNote编辑毕业论文格式
  3. DB 管理的重要工具(数据字典)
  4. 利用C#编写一个GPS高程拟合(二次曲面拟合模型)程序
  5. dvwa小马上传大马php,dvwa文件包含_DAY56 文件上传概述与漏洞***
  6. Fermi架构白皮书_中文详细版.pdf
  7. 中国行动成功学创始人李践
  8. 微软正式确认 Windows 7 RTM 的发布时间
  9. PHP实现pop3,用PHP实现POP3邮件的收取(二)
  10. android系统签名一样不,解决Android应用签名和系统不一致的问题