<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Introspector 緩存清除監聽器

    Posted on 2011-07-19 17:08 瘋狂 閱讀(1007) 評論(0)  編輯  收藏 所屬分類: spring

    Spring 提供了一個名為 org.springframework.web.util.IntrospectorCleanupListener 的監聽器。它主要負責處理由 JavaBean Introspector 功能而引起的緩存泄露。IntrospectorCleanupListener 監聽器在 Web 應用關閉的時會負責清除 JavaBean Introspector 的緩存,在 web.xml 中注冊這個監聽器可以保證在 Web 應用關閉的時候釋放與其相關的 ClassLoader 的緩存和類引用。如果您使用了 JavaBean Introspector 分析應用中的類,Introspector 緩存會保留這些類的引用,結果在應用關閉的時候,這些類以及 Web 應用相關的 ClassLoader 不能被垃圾回收。不幸的是,清除 Introspector 的唯一方式是刷新整個緩存,這是因為沒法準確判斷哪些是屬于本 Web 應用的引用對象,哪些是屬于其它 Web 應用的引用對象。所以刪除被緩存的 Introspection 會導致將整個 JVM 所有應用的 Introspection 都刪掉。需要注意的是,Spring 托管的 Bean 不需要使用這個監聽器,因為 Spring 的 Introspection 所使用的緩存在分析完一個類之后會馬上從 javaBean Introspector 緩存中清除掉,并將緩存保存在應用程序特定的 ClassLoader 中,所以它們一般不會導致內存資源泄露。但是一些類庫和框架往往會產生這個問題。例如 Struts 和 Quartz 的 Introspector 的內存泄漏會導致整個的 Web 應用的 ClassLoader 不能進行垃圾回收。在 Web 應用關閉之后,您還會看到此應用的所有靜態類引用,這個錯誤當然不是由這個類自身引起的。解決這個問題的方法很簡單,您僅需在 web.xml 中配置 IntrospectorCleanupListener 監聽器就可以了:

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

    主站蜘蛛池模板: 国产福利免费观看| 成年网站免费视频A在线双飞| 成人a毛片免费视频观看| 国产亚洲视频在线观看网址| 成人免费毛片内射美女-百度| 最近2019中文字幕免费大全5| 高清免费久久午夜精品| 免费观看美女裸体网站| 亚洲av无码一区二区三区四区| 免费在线观看一区| 7m凹凸精品分类大全免费| 亚洲第一中文字幕| 1000部拍拍拍18免费网站| 亚洲欧洲精品在线| 人人爽人人爽人人片A免费| 亚洲AV无码一区二区三区国产| 亚洲色偷偷偷网站色偷一区| 久久成人免费播放网站| 亚洲黄色免费观看| 免费一本色道久久一区| 亚洲国产精品无码久久SM| 婷婷亚洲综合一区二区| xx视频在线永久免费观看| 国产亚洲国产bv网站在线| 国产精品国产午夜免费福利看| 精品亚洲aⅴ在线观看| 无码 免费 国产在线观看91| 中文字幕精品亚洲无线码一区| 亚洲人成人伊人成综合网无码| 亚洲1234区乱码| 最近中文字幕免费mv视频7 | 1000部拍拍拍18勿入免费视频软件 | 成人免费网站久久久| 亚洲乱码精品久久久久..| 美女视频黄a视频全免费网站色| 精品国产一区二区三区免费| 午夜亚洲福利在线老司机| 亚洲精品在线播放视频| 天天摸天天操免费播放小视频| 国产zzjjzzjj视频全免费| 亚洲图片中文字幕|