堆的细分内存结构
⼀点睛
现代垃圾收集器⼤部分都是基于分代收集理论设计,堆空间细分如下。
Java 7及之前堆内存逻辑上分为三部分:新⽣区 + 养⽼区 + 永久区
Young Generation Space 新⽣区 Young/New ⼜被细分划分为 Eden 区和 Survivor 区Tenure generation space 养⽼区 Old/Tenurecentrality
Permanent Space 永久区 Perm
Java 8及之后堆内存逻辑上分为三部分:新⽣区 + 养⽼区 + 元空间
闪燃
fulltestYoung Generation Space 新⽣区 Young/New ⼜被细分划分为 Eden 区和 Survivor 区Tenure generation space 养⽼区 Old/Tenurecanton
Meta Space 元空间 Meta
约定:
新⽣区 <-> 新⽣代 <-> 年轻代
养⽼区 <-> ⽼年区 <-> ⽼年代
毛遂自荐翻译永久区 <-> 永久代
elegance
堆空间内部结构,JDK1.8之后从永久代替换成元空间。
injector
堆内存只给新⽣区和永久区分配内存。
⼆实战
mistaken
shut up1 代码
package com.atguigu.java.chapter08;
/**
* -Xms10m -Xmx10m -XX:+PrintGCDetails */
public class HeapDemo {
public static void main(String[] args) {
System.out.println(".");
}
fdg}
2 测试
a 8.0 版本——使⽤的是元空间
b 7.0 版本——使⽤的是永久代