日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

垃圾收集算法分类

發布時間:2024/2/28 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 垃圾收集算法分类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一 標記清除算法 mark-sweep 標記對象的判定(可達性 gcroots)
不足: 1 效率問題 2 空間問題 : 標記清除之后會產生大量不連續的內存碎片, 空間碎片太多可能會導致以后在程序運行過程中需要分配較大對象時 ,無法找到足夠的連續內存而不得不提前觸發垃圾收集動作
二 復制算法(copying) 解決效率的問題
將可用的內存按容量分為大小相同的兩塊,每次只使用其中的一塊,當一塊用完了,就將還存活的對象復制到另外一塊上面,然后再把已使用過 的內存空間一次性清理掉,每次都只對半個區域進行內存回收,缺點是將內存縮小了一半!
現在的商業虛擬機都是采用這種算法來回收新生代:新生代98%的對象都是朝生夕死的, 并不需要按照1:1,所以eden空間盡量大,就有了新生代的 eden(8)和survivor(1),一塊較大的eden區和兩塊較小的survivor區(新生代)
hostspot虛擬機默認的eden和survivor區的大小比例是8:1 也就是每次新生代中可用的內存空間為整個新生代容量的90%(8+1),只有10%的內存會被浪費;

三 標記整理算法 (針對老年代,復制算法不適合,存活對象多)(mark_compact) 標記 --整理(移動到端) --清楚
四 分代收集算法 分代后 新生代存貨少 用復制 老年代存活高用標記整理

hostspot算法實現 可作為GCroots的節點對象主要在全局性的引用(常量或者類靜態屬性)與執行上下文, 為什么full GC時影響性能: 保證可達性一致性——一致性的意思是整個分析期間,整個系統看起來就像是被凍結在某個時間點上,不可以出現 分析過程中對象引用關系還在不斷變化的情況,該點不滿足的話,分析結果準確性就得不到滿足 stop the world
hotSpot使用一組稱為OopMap的數據結構來達到這個目的,在類加載完成的時候,hotSpot就把對象內什么偏移量上是什么類型的數據計算出來。在oopMap的協助下,hotSpot能快速且準確的完成GCRoots枚舉,

總結

以上是生活随笔為你收集整理的垃圾收集算法分类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。