java GC

內存分配

  • 根據GC日誌獲取老年代的活躍數據大小爲300M,各個分區大小能夠設爲:算法

    總堆:1200M = 300M x 4
    新生代: 450M = 300M x 1.5
    老年代: 750M = 1200M - 450M日誌

什麼樣的對象須要被GC

  • 判斷算法
  1. 引用計數法 (循環引用問題)
  2. 可達性分析( GC Roots)
    • 虛擬機棧中的本地變量表引用的對象
    • 方法區 類靜態變量引用的對象、常量引用對象
    • 本地方法棧中JNI
  • 對象很大:
    -xx:PretenureSizeThreshold=3145728

新生代GC

  1. Minor GC
  2. 分配擔保
  • Minor GC 以前檢查: 老年代最大可用連續空間是否大於新生代全部對象總空間
相關文章
相關標籤/搜索