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

    主站蜘蛛池模板: 免费涩涩在线视频网| 精品久久久久成人码免费动漫 | 亚洲爆乳成av人在线视菜奈实| 男的把j放进女人下面视频免费| 亚洲高清最新av网站| 国产偷国产偷亚洲清高APP| 四虎成人免费观看在线网址| 亚洲中文久久精品无码1 | 国产大片91精品免费看3| 亚洲狠狠色丁香婷婷综合| 蜜桃精品免费久久久久影院| 亚洲午夜精品久久久久久app| 午夜无遮挡羞羞漫画免费| 亚洲男同gay片| 免费国内精品久久久久影院| 亚洲精品无码久久久久APP| 免费在线精品视频| 亚洲精品视频免费| 日本亚洲欧洲免费天堂午夜看片女人员| 国产在线精品一区免费香蕉| 亚洲人成人77777网站| 日本卡1卡2卡三卡免费| 亚洲成a人片77777群色| 无码专区永久免费AV网站| 亚洲熟女精品中文字幕| 免费大片在线观看网站| 国产精品青草视频免费播放| 国产亚洲av片在线观看16女人| 美女内射无套日韩免费播放| 亚洲另类自拍丝袜第1页| 好吊妞在线成人免费| 亚洲免费视频一区二区三区| 久久久久亚洲av无码专区导航| 国产精品69白浆在线观看免费| mm1313亚洲国产精品无码试看| 亚洲精品岛国片在线观看| 久艹视频在线免费观看| 亚洲中文字幕久久久一区| 亚洲av无码乱码在线观看野外| 免费在线观看一级片| 亚洲五月综合网色九月色|