<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> 
    

    主站蜘蛛池模板: 99热在线精品免费全部my| 一个人看的www免费视频在线观看 一个人免费视频观看在线www | 亚洲AV无码一区二区三区人 | 五月天婷婷精品免费视频| 国产美女精品视频免费观看| 亚洲AV无码国产精品色| 91在线视频免费播放| 精品亚洲AV无码一区二区三区 | 一本岛v免费不卡一二三区| 亚洲国产综合精品一区在线播放| 国产亚洲蜜芽精品久久| va亚洲va日韩不卡在线观看| 七次郎成人免费线路视频| 亚洲综合无码AV一区二区| 久久99精品免费视频| 久久久亚洲欧洲日产国码aⅴ | 国产成人综合久久精品免费 | 精品在线观看免费| 亚洲另类少妇17p| 免费精品一区二区三区第35| 亚洲精品亚洲人成在线观看麻豆| 100000免费啪啪18免进| 色噜噜噜噜亚洲第一| 老司机亚洲精品影视www| 久久青草免费91线频观看不卡| 亚洲熟妇av一区| 在线观看国产情趣免费视频| 国产久爱免费精品视频| 久久亚洲美女精品国产精品| 国产精品免费观看久久| 高潮内射免费看片| 久久亚洲精品成人| 午夜电影免费观看| XXX2高清在线观看免费视频| 亚洲黄色一级毛片| 免费国产成人午夜电影| 国内精品一级毛片免费看| 久久亚洲精品国产精品婷婷| 亚洲一区日韩高清中文字幕亚洲| 亚洲电影在线免费观看| 美女羞羞视频免费网站|