成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

專家訪談:Tomcat 7的內存泄漏保護

開發 后端
今年年初,DZone 網站對 Mark Thomas 針對 Tomcat 7 的內存泄漏保護的功能進行了采訪,Mark Thomas 是 SpringSource 的首席軟件工程師,同時也是 Tomcat 的代碼提交負責人。

今天上午51CTO為網友第一時間對“Tomcat 7 RC4發布”進行了報道。Tomcat 7的內存泄漏保護一直是關注,今年年初,DZone網站對Mark Thomas針對Tomcat 7的內存泄漏保護的功能進行了采訪,Mark Thomas是SpringSource的首席軟件工程師,同時也是Tomcat的代碼提交負責人。

在Tomcat 7中引入了一項新的功能:內存泄漏保護。該功能可以解決Web應用中的很多種會導致內存泄漏的問題,特別是在應用重新加載時候的內存釋放問題。

下面是具體訪談的內容(水平有限,對內容做了很多精簡,詳情請看英文版):

DZone:什么原因會導致Web應用重新加載時的內存泄漏,這個內存泄漏是怎么表現出來的?

Mark Thomas:最直接的現象就是PermGen產生OutOfMemoryError的錯誤,然后Tomcat掛掉

PermGen space的全稱是Permanent Generation space,是指內存的永久保存區域,如果你的WEB APP下都用了大量的第三方jar,其大小超過了jvm默認的大小(4M)那么就會產生此錯誤信息了。

為了防止該問題的發生,必須保證重載時web應用的類加載器沒有保存任何對象的引用。

DZone:請告訴我們Tomcat以前在重載時的內存泄漏問題

Mark Thomas:Tomcat的這個問題在我加入這個項目之前就一直都存在

DZone:那么是不是所有Tomcat中會導致內存泄漏問題的Bug都已經修復了呢?

Mark Thomas:應該說是我們已知的所有問題都已經得到解決,可能還存在一些未知的問題。

Tomcat 的虛擬機內存剖析 
Tomcat 的虛擬機內存剖析

 

 

DZone:程序庫、Java API都有什么用的bug會導致內存泄漏呢?

 

Mark Thomas:內存泄漏問題都有相同的原因,例如在Web應用的ClassLoader初始化一個對象,然后這個對象將自己的引用保存到某個實例或者Registry中,當重載時從ClassLoader撤銷這個對象時,Registry引用的對象還在,這樣就會導致內存泄漏。

一般程序庫可能存在內存泄漏的地方有:

1.JDBC驅動注冊

2.一些日志框架

3.在ThreadLocal中保存對象,但是并不去刪除它

4.啟動了線程,但沒有停止它

而Java API存在內存泄漏的地方包括:

1.使用javax.imageio API (the Google Web Toolkit can trigger this)

2.使用java.beans.Introspector.flushCaches() (Tomcat does this to prevent memory leaks caused by this caching)

3.使用XML解析器(the root cause is unknown due to a bug in the JRE)

4.使用RMI遠程方法調用(somewhat ironically, causes a leak related to the garbage collector)

5.從Jar文件中讀取資源

DZone:請告訴我們,Tomcat 7是如何處理這些問題的

Mark Thomas:問題的關鍵在于Tomcat 7的WebappClassLoader類的clearReferences()方法。

對于前面提到的Java API中存在問題,通過確保Tomcat核心第一次使用這些API,然后讓應用去調用,來防止內存泄漏。關于如何保護內存泄漏,請看JreLeakPreventionListener class.

DZone:依你看來,在控制內存泄漏方面,Tomcat 7比現有版本的Tomcat有多大的提升?

Mark Thomas:有顯著的提升,呵呵

DZone:Tomcat 7的開發進展如何,有一個確切的發布日期嗎?

Mark Thomas:Tomcat 7的開發進展非常順利,JSP和EL 2.2規范已經實現,Servlet 3.0的規范實現也接近完成。

DZone:關于Tomcat 7,你還有什么其他要補充的嗎?

【編輯推薦】

  1. Tomcat 7 RC4發布 融入部分Java 7功能支持
  2. Tomcat 7 應用實測:聲明式Servlet 3.0
  3. Tomcat 7 快來了
  4. Apache計劃年底發布Tomcat 7測試版
責任編輯:佚名 來源: IT168
相關推薦

2009-04-07 14:48:25

2013-07-31 08:42:08

BaaS移動云服務移動中間件

2010-09-27 16:14:51

TomcatJVM內存

2012-07-04 15:06:00

ibmdw

2015-03-30 11:18:50

內存管理Android

2019-01-30 18:24:14

Java內存泄漏編程語言

2009-06-16 11:17:49

內存泄漏

2024-03-11 08:22:40

Java內存泄漏

2009-09-18 09:37:55

SharePoint保護數據

2012-06-19 15:12:20

Java內存泄露

2024-02-21 08:00:55

WindowsDWM進程

2023-12-18 10:45:23

內存泄漏計算機服務器

2012-02-22 21:28:58

內存泄漏

2010-11-10 15:40:52

電源學會專家王其英

2009-06-10 22:03:40

JavaScript內IE內存泄漏

2024-01-30 10:12:00

Java內存泄漏

2012-03-01 15:26:45

2022-05-26 09:51:50

JavaScrip內存泄漏

2011-06-16 09:28:02

C++內存泄漏

2013-08-07 10:16:43

Android內存泄漏
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: dy天堂| 欧美亚洲国产日韩 | 久国产视频 | 欧美在线一区二区三区 | 色资源在线视频 | 日韩和的一区二区 | 亚洲综合色丁香婷婷六月图片 | 国产精品99精品久久免费 | 成人天堂 | 澳门永久av免费网站 | 日韩成人在线播放 | 欧美激情精品久久久久久免费 | 在线欧美亚洲 | 精品欧美色视频网站在线观看 | 免费黄视频网站 | 午夜视频一区 | 国产精品99久久久久久久久 | 中文字幕av一区二区三区 | 欧美日韩在线观看一区二区三区 | 爱草在线| 金莲网| 亚洲网在线 | www.日韩免费 | 欧美一区二区三区在线视频 | 久久精品免费一区二区 | 在线a视频网站 | 日韩在线播放av | 欧美精品区 | 国产精品jizz在线观看老狼 | av中文字幕在线播放 | 美国一级片在线观看 | 五月花丁香婷婷 | 国产精品日日做人人爱 | 成人在线播放 | 午夜一区 | 亚洲欧美日韩精品久久亚洲区 | 免费中文字幕日韩欧美 | 欧美日韩成人在线观看 | 情侣酒店偷拍一区二区在线播放 | 国产欧美一区二区三区日本久久久 | 国产999在线观看 |