8 爬取EOS whales網站出現的ssl驗證問題以及無法建立websocket握手問題(北京大學出版社的《python 爬蟲與反爬蟲開發》書中錯誤)
阿新 • • 發佈:2021-10-15
垃圾收集演算法
- 標記清除演算法。
- 複製演算法。
- 標記整理演算法。
- 分代收集。年輕代複製演算法,老年代標記清除或標記整理演算法。
垃圾收集器
Serial收集器
最早的,最基本的。
單執行緒,收集過程會停頓。
適用於Client,單CPU場景,簡單高效。
能與CMS收集器配合。
新生代。
ParNew收集器
Serial的多執行緒版本。
能與CMS收集器配合。
預設開啟的收集執行緒數與CPU的數量相同,可配置。
新生代。
Parallel Scavenge收集器
新生代。
多執行緒。
目標是吞吐量。
可控制吞吐量。
可配置GC時間佔比,可配置GC最大停頓時間。
經常稱為“吞吐量優先收集器”
-XX:+UseAdaptiveSizePolicy,開啟自適應調節策略。
Serial Old收集器
Serial老年代版本,單執行緒,標記-整理演算法。
CMS的後備預案。
Parallel Old收集器
Parallel Scavenge老年代版本,多執行緒,標記-整理演算法。
CMS收集器
目標是最短停頓時間。
老年代。
標記-清除演算法。
步驟:
- 初始標記;
- 併發標記;
- 重新標記;
- 併發清除;
併發、低停頓收集器。
缺點:
- 併發階段,耗CPU資源,雖併發,但使用者執行緒變慢;
- 併發清理階段的浮動垃圾無法清理;併發清理需預留空間,68,92,可能失敗;
- 標記清除,空間碎片。可配置每次壓縮(預設),或N次後壓縮。壓縮需停頓;
G1收集器
最前沿成果之一。
面向伺服器端應用。
目標是替代CMS。
可獨立管理整個堆。
標記-整理演算法,無碎片。
堆劃分為多個大小相等的獨立區域(Region)。
指定在一個長度為M毫秒的時間片段內,消耗在垃圾收集上的時間不得超過N毫秒。
每次根據允許的收集時間,優先回收價值最大的Region(這也就是Garbage-First名稱的來由)。
有限的時間內獲取儘可能高的收集效率。
被引用物件所屬的Region的Remembered Set之中,存有,跨Region或跨代的引用。
步驟同CMS,但最後一步,為篩選回收。
尚未經過實際應用的考驗,應謹慎使用。
垃圾收集器引數表
-- 結束 --