<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Java垃圾回收新算法

Java垃圾回收新算法

作者: 時(shí)間:2011-05-20 來(lái)源:網(wǎng)絡(luò ) 收藏
4.1.2具體

本文引用地址:http://dyxdggzs.com/article/150730.htm

  (1)程序開(kāi)始運行,對象動(dòng)態(tài)地申請堆區,這時(shí),每個(gè)塊的計數器啟動(dòng),根據引用對象的標記位情況來(lái)改變計數器的值,為1則計數器加1,8個(gè)計數器值放在數組里,并比較8個(gè)計數器值的大小,選取最大的計數器所在塊,進(jìn)行掃描。

  (2)掃描出的轉移到刪除區,等待被刪除。

  (3)繼續比較計數器值,但已經(jīng)進(jìn)行掃描的塊不參加此后的比較,待刪除的占的空間達到min值時(shí),器開(kāi)始對活躍區壓縮內存碎片,并且在刪除區同時(shí)開(kāi)始進(jìn)行垃圾刪除申請。

  (4)當刪除區的空間達到了max值時(shí),刪除區的垃圾還沒(méi)有被刪除,這時(shí)停止活躍區的掃描,等待刪除區進(jìn)行垃圾刪除。

  4.2 實(shí)例分析

  看下面一段程序:

  int [][] m1=new int[2][3];

  int [][] m2=new int[2][3];

  m1=m2;

  此例中,第一句是用new語(yǔ)句在堆中為數組申請了一個(gè)空間,然后用matrix引用此空間的對象(這里數組可以理解為對象),此時(shí)這個(gè)內存空間就是有用的。第二句是給matrix賦空值,matrix則不再引用此數組。此時(shí),這個(gè)空間就是無(wú)用的。

  對于原來(lái)的,m1引用的數組在堆中是隨機存放的,若要查找垃圾,則會(huì )遍歷整個(gè)堆內存,先標記,然后再清理垃圾。設耗費時(shí)間為T(mén)a。

  m1引用的數組在堆中是隨機存放的,所以假設其放在活躍區中的cnt[x]區(x取值為0~7之一),下面分兩種情況來(lái)考慮:

  (1)最好的情況,m1原來(lái)引用的數組放在cnt1中為數組cnt[x]中最大的數,則查找到這個(gè)垃圾的時(shí)間為: T8+cnt[x]。

  

  由此可以節省7Ta/16的時(shí)間。此新可以大大減少垃圾處理所需的時(shí)間。

  語(yǔ)言對垃圾的處理是利用的垃圾處理器自動(dòng)進(jìn)行的,JVM雖然沒(méi)有明確程序員必須了解垃圾處理器的過(guò)程和實(shí)質(zhì),但是,一個(gè)優(yōu)秀的程序員應該掌握和熟悉垃圾處理器的工作機制,充分利用好內存空間,減少不必要的空間浪費,從而使程序更好地運行。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: 算法 回收 垃圾 Java

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>