天天看点

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

1.JVM体系结构概述

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具
JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

2.GC算法

分类:

  1. 引用计数法:每个对象维护一个引用计数器记录其被引用数,当被引用数为0时即可回收
    JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具
  2. 跟踪法(可达性分析算法):从GC Roots出发向下搜索,不可达的对象即可回收

    GC Roots对象:

    1. 虚拟机栈(栈帧中的本地变量表)中引用的对象
    2. 本地方法栈中JNI(即native方法)引用的对象
    3. 方法区中类静态属性引用的对象
    4. 方法区中常量引用的对象

在可达性分析算法中不可达的对象,也并非就判定为“死亡”了;判定一个对象最终是否死亡,至少经历两次标记过程:

  1. 不可达的对象会被

    第一次标记

  2. 被第一次标记的对象进行 判断是否有必要执行finalize(),若对象覆盖了finalize()方法 且 finalize() 没有执行过,若都满足则执行finalize();
  3. 在finalize()中,若对象重新和引用链上的任一对象建立关联,则不会被

    第二次标记

    ,它则不会被回收。
    JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

1.复制

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

2.标记清除

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

3.标记压缩

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

4.标记清除压缩

  • 原理:
    1. Mark-Sweep和Mark-Compact结合
    2. 和Mark-Sweep一致,当进行多次GC后才Compact
  • 优点:

    减少移动对象的成本

3.Hotspot内存管理

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具
JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具
JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

4.Hotspot垃圾回收器

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具
JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具
JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具
JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具
JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

1.新生代垃圾回收器

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

1.Serial Copying

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

2.ParNew

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

3.Parallel Scavenge(吞吐量优先)

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具
JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

2.旧生代垃圾回收器

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

1.Serial MSC(Serial Old)

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

2.Parallel Compacting(Parallel Old)

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具
JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

3.CMS(并发低停顿)

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具
JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具
JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

5.调优

1.堆大小调优

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具
JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

2.新生代调优

1.大小

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

2.晋升

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具
JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

3.旧生代调优

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

6.监控工具

JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具
JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具
JVM体系结构与GC调优1.JVM体系结构概述2.GC算法3.Hotspot内存管理4.Hotspot垃圾回收器5.调优6.监控工具

继续阅读