• 存对象

  • 线程栈

    每有一个线程就会从线程栈中划分一块区域

    • 栈帧

      每执行一个方法就会在线程栈中分配一块区域

      • 操作数栈

        将临时数据做加减乘除的操作的地方

      • 局部变量(指针指向堆)

        存储临时数据(变量)

      • 动态链接

        通过动态链接去链接到方法区,拿到方法区的方法

      • 方法出口

        链接到上层调用

  • 方法区(元空间)(指针指向堆)

    • 常量
    • 静态变量
    • 类信息
  • 程序计数器

    用于记录执行当前所到的步骤(cpu的执行权限被抢走时记录当前程序的执行步骤,用于抢回权限后接着执行)

  • 本地方法栈

    native修饰的方法执行的内存空间(c、c++实现的方法)

注:

JVM调优的目的是减少FULL GC,因为在FULL GC的时候会STW(stop the world),停掉当前运行的线程