Skip to content

Latest commit

 

History

History
30 lines (15 loc) · 1.3 KB

jvmla-ji-shou-ji-ff08-java-dui-nei-cun-mo-xing-ff09.md

File metadata and controls

30 lines (15 loc) · 1.3 KB

JVM垃圾收集(Java堆内存模型)

  • Java中最大的特点在于其具备良好的垃圾收集特性,也就是GC是整个Java之中最重要的安全保证,它可以保证即使是再蠢的开发者也能够写出合理的代码来。

  • 整个JVM中GC的处理机制:对不需要的对象进行标记,而后进行清除。

JVM堆内存划分(JDK1.8之后)

JVM堆内存划分(JDK1.8之前)

区别:元空间永久带

在JDK1.8之后将最初的永久带内存空间取消了,q尖永久带的目的是为了将HotSpot与JRockit两个虚拟机标准联合为一个。以下为JDK1.8之前的内存空间组成。

在整个JVM堆内存之中实际将内存分为了三块:

  • 年轻代:新对象和没达到一定年龄的对象都在年轻代,不稳固对象

  • 老年代:被长时间使用的对象。老年代的内存空间应该要比年轻代更大。

  • 元空间(1.8以前叫做永久带):像一些方法中的操作参数,临时对象等。

  • 最初的永久带是需要在JVM堆内存里面进行划分,而元空间直接使用物理内存。

划分原则:方便内存数据的管理(哪些对象是可以被清空的,哪些对象是不能被清空的)