pull/1/head
ruyu.li 3 years ago
parent f99834a8e0
commit 403aef8f27

@ -3979,9 +3979,7 @@ Exception in thread "main": java.lang.OutOfMemoryError: <reason> <stack trace> (
### 堆内存
堆内存JAVA Heap。是被线程共享的一块内存区域创建的对象和数组都保存在 Java 堆内存中,也是垃圾收集器进行
垃圾收集的最重要的内存区域。由于现代 VM 采用**分代收集算法**, 因此 Java 堆从 GC 的角度还可以细分为: **新生代**(Eden 区、From Survivor 区和 To Survivor 区)和老年代。
堆内存JAVA Heap。是被线程共享的一块内存区域创建的对象和数组都保存在 Java 堆内存中,也是垃圾收集器进行垃圾收集的最重要的内存区域。由于现代 VM 采用**分代收集算法**, 因此 Java 堆从 GC 的角度还可以细分为: **新生代**(Eden区、From Survivor 区和 To Survivor 区)和老年代。
- 线程共享
- 主要用于存储JAVA实例或对象
@ -4754,7 +4752,7 @@ Parallel Old 收集器是 Parallel Scavenge 的老年代版本,追求 CPU 吞
#### G1收集器
**G1垃圾回收器** 应用于大的堆内存空间。它将堆内存空间划分为不同的区域对各个区域并行地做回收工作。G1在回收内存空间后还立即空闲空间做整合工作以减少碎片。CMS却是在全部停止(stop the world,STW)时执行内存整合工作。对于不同的区域G1根据垃圾的数量决定优先级。使用 `-XX:UseG1GCJVM` 参数来开启使用G1垃圾回收器。
**G1垃圾回收器** 应用于大的堆内存空间。它将堆内存空间划分为不同的区域对各个区域并行地做回收工作。G1在回收内存空间后还立即空闲空间做整合工作以减少碎片。CMS却是在全部停止(stop the world,STW)时执行内存整合工作。对于不同的区域G1根据垃圾的数量决定优先级。使用 `-XX:UseG1GCJVM` 参数来开启使用G1垃圾回收器。
![G1收集器](images/JAVA/G1收集器.jpg)

Loading…
Cancel
Save