JVM中的 栈 堆 方法区

推荐视频:https://www.bilibili.com/video/av33910105?from=search&seid=15864221088237532625

JVM中的 栈 堆 方法区_第1张图片上图可知:
方法区:用于存放一些静态的资源。类加载器将类加载完之后就存放在方法区。
堆:存放一些实际的对象new 出来的对象都放在堆当中
栈:存放对象的引用和一些临时变量。

堆的详细介绍
JVM中的 栈 堆 方法区_第2张图片

堆分为两个区新生区和老年区,新生的对象会存在新生区,当经过15次垃圾回收(GC)之后就会从新生区晋升到老年区。老年区的GC远远少于新生区的GC
新生区又分为 :eden  s0(from)  s1(to),s1 和s2是大小相同并可以互相角色转化的两个区。eden区存放所有的新生对象。当经过一次GC之后对象就进入了S0  或者 S1
S0和S1是用来用复制算法回收一些没用的对象。

你可能感兴趣的:(JVM中的 栈 堆 方法区)