0%

JVM结构

.image-20220220152851185

.image-20220308144610966

PC计数器、本地方法栈、栈为线程私有,堆、元空间为线程共享

关于常量池:

  • JDK1.6及之前:在方法区中
  • JDK1.7:在永久区中
  • JDK1.8:在元空间中(JDK1.8 永久区+方法区→元空间)

方法区

方法区是被所有线程共享的,包括:构造函数、接口、静态变量(static)、常量(final)、静态代码块

.image-20220220161824891

  • 伊甸区满了触发Min GC, 剩下的移到Surviver区
  • 新生区满了触发Major GC,剩下的移到老年区
  • 老年区满了触发Full GC,若仍满则OOM