G1與CMS各自的使用場景及原理
G1適合8/16G以上的記憶體使用,原因在於G1rescan更快,清除垃圾時雖然是stop the world但是可控,CMS雖然是併發但是不可控,大塊記憶體要回收會影響到應用程式的效能。另外由於G1在清理垃圾時使用STW,所以可以採用標記整理演算法,沒有記憶體碎片問題
G1大體思路:
在併發標記時,物件引用的變動會增加一個barrier, 就有了變動的log集合,rescan時只需要掃描log集合即可。
CMS大體思路:
相關文章
- sql中in和exists的原理及使用場景。SQL
- Java多執行緒的悲觀鎖與樂觀鎖及各自適用場景Java執行緒
- JS的節流、函式防抖 原理及使用場景JS函式
- 【譯】Object與Map的異同及使用場景Object
- 【譯】Array與Set的異同及使用場景
- Redis 中 set 和 hset 有什麼不同,各自使用場景Redis
- ZooKeeper核心原理及應用場景
- CMS、G1收集器
- G1垃圾回收器介紹與CMS區別
- ThreadLocal 原理和使用場景分析thread
- 海外IP池的工作原理及應用場景
- 一文弄懂分散式場景中各種鎖的原理及使用分散式
- HDFS應用場景、原理、基本架構及使用方法概述架構
- 深入瞭解typeof與instanceof的使用場景及注意事項
- Hbase原理的介紹和使用場景分析
- 面試中的 ThreadLocal 原理和使用場景面試thread
- 併發容器的原理,七大併發容器詳解、及使用場景
- Webpack 下使用 web workers 及 基本原理 和 應用場景Web
- JavaScript 工作原理之七-Web Workers 分類及 5 個使用場景JavaScriptWeb
- mysql與redis的區別與使用場景MySqlRedis
- Kafka簡介、基本原理、執行流程與使用場景Kafka
- Mybatis-Plus的應用場景及注入SQL原理分析MyBatisSQL
- C++中傳指標和傳引用的區別,各自的使用場景是什麼C++指標
- Tornado原理淺析及應用場景探討
- Hive簡介、應用場景及架構原理Hive架構
- G1垃圾回收器在併發場景調優
- 垃圾回收之CMS、G1、ZGC對比GC
- Flink基本原理與應用場景
- Redis - 介紹與使用場景Redis
- MySQL有哪些儲存引擎,各自的優缺點,應用場景MySql儲存引擎
- HarmonyOS線性容器特性及使用場景
- Java 自定義註解及使用場景Java
- Android 中的執行緒有哪些,原理與各自特點Android執行緒
- 說一說V-Layout框架的原理和使用場景框架
- ArrayList和LinkedList底層原理的區別和使用場景
- 【進階3-4期】深度解析bind原理、使用場景及模擬實現
- kafka入門:簡介、使用場景、設計原理、主要配置及叢集搭建(轉)Kafka
- 【進階3-3期】深度解析 call 和 apply 原理、使用場景及實現APP