浅析JAVA面试题中常见问题之JVM GC垃圾回收

浅析JAVA面试题中常见问题之JVM GC垃圾回收

JVM GC 思维导图

在这里插入图片描述

JVM 就是一般所说的JAVA虚拟机,通过Java虚拟机将.class文件编译成特定机器上的机器码,从而达到跨平台使用

一.GC要做的3件事

1.1 哪些内存需要被回收?

GC垃圾回收,就是回收堆中所占用的内存区域,是被线程共享的一块内存区域,创建的对象和数组都保存在 Java 堆内存中

1.2 什么时候触发GC垃圾回收?’

当新生代的Eden和From Survivor 的空间不足时就会发生一次 GC,

1.3 GC垃圾回收的机制是什么?
  1. 进行垃圾回收,Eden 和 From Survivor 区域的存活对象会被挪到 To Survivor 区域,然后将 Eden 和
    From Survivor 区域内存进行清理。

  2. 如果 To Survivor 区域无法足够存储某个对象,则将这个对象存储到老年代中,

  3. .当对象在 Survivor 区域躲过一次 GC 垃圾回收后,其年龄就会+1。默认情况下年龄到达 15 的对象会被移到老年代中。

堆内存分配图

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u013478983/article/details/114115367