diff --git a/notes/JVM.md b/notes/JVM.md index d15cf05b..52ab99b6 100644 --- a/notes/JVM.md +++ b/notes/JVM.md @@ -9,50 +9,15 @@ * [直接内存](#直接内存) * [二、垃圾收集](#二垃圾收集) * [判断一个对象是否可回收](#判断一个对象是否可回收) - * [1. 引用计数](#1-引用计数) - * [2. 可达性](#2-可达性) - * [3. 引用类型](#3-引用类型) - * [4. 方法区的回收](#4-方法区的回收) - * [5. finalize()](#5-finalize) * [垃圾收集算法](#垃圾收集算法) - * [1. 标记 - 清除](#1-标记---清除) - * [2. 复制](#2-复制) - * [3. 标记 - 整理](#3-标记---整理) - * [4. 分代收集](#4-分代收集) * [垃圾收集器](#垃圾收集器) - * [1. Serial 收集器](#1-serial-收集器) - * [2. ParNew 收集器](#2-parnew-收集器) - * [3. Parallel Scavenge 收集器](#3-parallel-scavenge-收集器) - * [4. Serial Old 收集器](#4-serial-old-收集器) - * [5. Parallel Old 收集器](#5-parallel-old-收集器) - * [6. CMS 收集器](#6-cms-收集器) - * [7. G1 收集器](#7-g1-收集器) - * [8. 七种垃圾收集器的比较](#8-七种垃圾收集器的比较) * [内存分配与回收策略](#内存分配与回收策略) - * [1. 优先在 Eden 分配](#1-优先在-eden-分配) - * [2. 大对象直接进入老年代](#2-大对象直接进入老年代) - * [3. 长期存活的对象进入老年代](#3-长期存活的对象进入老年代) - * [4. 动态对象年龄判定](#4-动态对象年龄判定) - * [5. 空间分配担保](#5-空间分配担保) * [Full GC 的触发条件](#full-gc-的触发条件) - * [1. 调用 System.gc()](#1-调用-systemgc) - * [2. 老年代空间不足](#2-老年代空间不足) - * [3. 空间分配担保失败](#3-空间分配担保失败) - * [4. JDK 1.7 及以前的永久代空间不足](#4-jdk-17-及以前的永久代空间不足) - * [5. Concurrent Mode Failure](#5-concurrent-mode-failure) * [三、类加载机制](#三类加载机制) * [类的生命周期](#类的生命周期) * [类初始化时机](#类初始化时机) * [类加载过程](#类加载过程) - * [1. 加载](#1-加载) - * [2. 验证](#2-验证) - * [3. 准备](#3-准备) - * [4. 解析](#4-解析) - * [5. 初始化](#5-初始化) * [类加载器](#类加载器) - * [1. 类与类加载器](#1-类与类加载器) - * [2. 类加载器分类](#2-类加载器分类) - * [3. 双亲委派模型](#3-双亲委派模型) * [四、JVM 参数](#四jvm-参数) * [GC 优化配置](#gc-优化配置) * [GC 类型设置](#gc-类型设置)