欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
幾種典型的Java內存泄漏

我們知道了在Java中確實(shí)會(huì )存在內存泄漏,那么就讓我們看一看幾種典型的泄漏,并找出他們發(fā)生的原因和解決方法。

全局集合

在大型應用程序中存在各種各樣的全局數據倉庫是很普遍的,比如一個(gè)JNDI-tree或者一個(gè)session table。在這些情況下,必須注意管理儲存庫的大小。必須有某種機制從儲存庫中移除不再需要的數據。

通常有很多不同的解決形式,其中最常用的是一種周期運行的清除作業(yè)。這個(gè)作業(yè)會(huì )驗證倉庫中的數據然后清除一切不需要的數據。

另一種管理儲存庫的方法是使用反向鏈接(referrer)計數。然后集合負責統計集合中每個(gè)入口的反向鏈接的數目。這要求反向鏈接告訴集合何時(shí)會(huì )退出入口。當反向鏈接數目為零時(shí),該元素就可以從集合中移除了。 

緩存

緩存一種用來(lái)快速查找已經(jīng)執行過(guò)的操作結果的數據結構。因此,如果一個(gè)操作執行需要比較多的資源并會(huì )多次被使用,通常做法是把常用的輸入數據的操作結果進(jìn)行緩存,以便在下次調用該操作時(shí)使用緩存的數據。緩存通常都是以動(dòng)態(tài)方式實(shí)現的,如果緩存設置不正確而大量使用緩存的話(huà)則會(huì )出現內存溢出的后果,因此需要將所使用的內存容量與檢索數據的速度加以平衡。

常用的解決途徑是使用java.lang.ref.SoftReference類(lèi)堅持將對象放入緩存。這個(gè)方法可以保證當虛擬機用完內存或者需要更多堆的時(shí)候,可以釋放這些對象的引用。

類(lèi)裝載器

Java類(lèi)裝載器的使用為內存泄漏提供了許多可乘之機。一般來(lái)說(shuō)類(lèi)裝載器都具有復雜結構,因為類(lèi)裝載器不僅僅是只與"常規"對象引用有關(guān),同時(shí)也和對象內部的引用有關(guān)。比如數據變量,方法和各種類(lèi)。這意味著(zhù)只要存在對數據變量,方法,各種類(lèi)和對象的類(lèi)裝載器,那么類(lèi)裝載器將駐留在JVM中。既然類(lèi)裝載器可以同很多的類(lèi)關(guān)聯(lián),同時(shí)也可以和靜態(tài)數據變量關(guān)聯(lián),那么相當多的內存就可能發(fā)生泄漏。

【編輯推薦】

  1. 詳細介紹Java的內存管理與內存泄露
  2. Java程序性能優(yōu)化之找出內存溢出元兇
  3. 20個(gè)開(kāi)發(fā)人員非常有用的Java功能代碼
  4. 走進(jìn)Java 7中的模塊系統
  5. JavaFX 1.2 已經(jīng)發(fā)布 主要新功能一覽
【責任編輯:楊賽 TEL:(010)68476606】

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
java內存泄露 - 心靈花園 - JavaEye技術(shù)網(wǎng)站
Java開(kāi)發(fā)工程師最新面試題庫系列——Java基礎部分(附答案)
Java 理論和實(shí)踐: 用軟引用阻止內存泄漏
Android工程師之Android面試大綱
消除內存泄漏
Android常見(jiàn)內存泄露,學(xué)會(huì )這六招大大優(yōu)化APP性能
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久