|
1 | | -<!-- @import "[TOC]" {cmd="toc" depthFrom=1 depthTo=6 orderedList=false} --> |
2 | | - |
3 | | -<!-- code_chunk_output --> |
4 | | - |
5 | | -- [JVM 垃圾回收](#jvm-垃圾回收) |
6 | | - - [写在前面](#写在前面) |
7 | | - - [本节常见面试题](#本节常见面试题) |
8 | | - - [本文导火索](#本文导火索) |
9 | | - - [1 揭开 JVM 内存分配与回收的神秘面纱](#1-揭开-jvm-内存分配与回收的神秘面纱) |
10 | | - - [1.1 对象优先在 eden 区分配](#11-对象优先在-eden-区分配) |
11 | | - - [1.2 大对象直接进入老年代](#12-大对象直接进入老年代) |
12 | | - - [1.3 长期存活的对象将进入老年代](#13-长期存活的对象将进入老年代) |
13 | | - - [1.4 动态对象年龄判定](#14-动态对象年龄判定) |
14 | | - - [1.5 主要进行 gc 的区域](#15-主要进行-gc-的区域) |
15 | | - - [2 对象已经死亡?](#2-对象已经死亡) |
16 | | - - [2.1 引用计数法](#21-引用计数法) |
17 | | - - [2.2 可达性分析算法](#22-可达性分析算法) |
18 | | - - [2.3 再谈引用](#23-再谈引用) |
19 | | - - [2.4 不可达的对象并非“非死不可”](#24-不可达的对象并非非死不可) |
20 | | - - [2.5 如何判断一个常量是废弃常量?](#25-如何判断一个常量是废弃常量) |
21 | | - - [2.6 如何判断一个类是无用的类](#26-如何判断一个类是无用的类) |
22 | | - - [3 垃圾收集算法](#3-垃圾收集算法) |
23 | | - - [3.1 标记-清除算法](#31-标记-清除算法) |
24 | | - - [3.2 标记-复制算法](#32-标记-复制算法) |
25 | | - - [3.3 标记-整理算法](#33-标记-整理算法) |
26 | | - - [3.4 分代收集算法](#34-分代收集算法) |
27 | | - - [4 垃圾收集器](#4-垃圾收集器) |
28 | | - - [4.1 Serial 收集器](#41-serial-收集器) |
29 | | - - [4.2 ParNew 收集器](#42-parnew-收集器) |
30 | | - - [4.3 Parallel Scavenge 收集器](#43-parallel-scavenge-收集器) |
31 | | - - [4.4.Serial Old 收集器](#44serial-old-收集器) |
32 | | - - [4.5 Parallel Old 收集器](#45-parallel-old-收集器) |
33 | | - - [4.6 CMS 收集器](#46-cms-收集器) |
34 | | - - [4.7 G1 收集器](#47-g1-收集器) |
35 | | - - [4.8 ZGC 收集器](#48-zgc-收集器) |
36 | | - - [参考](#参考) |
37 | | - |
38 | | -<!-- /code_chunk_output --> |
39 | | - |
40 | | - |
41 | | -# JVM 垃圾回收 |
| 1 | + |
| 2 | +# JVM 垃圾回收详解 |
42 | 3 |
|
43 | 4 | ## 写在前面 |
44 | 5 |
|
|
0 commit comments