面试对线记录9 JVM内存结构

  1. 程序计数器
    当前线程所执行的字节码的行号指示器,用于记录正在执行的虚拟机字节指令地址,线程私有;
  2. Java虚拟栈
    存放基本数据类型,对象的引用,方法的出口等,线程私有;
  3. Native方法
    和虚拟栈差不多,只是他服务于Native方法,线程私有;
  4. Java堆 Java内存中最大的一块,所有的对象实例和数组都存在在Java堆,GC回收的地方,线程共享
  5. 方法区 存放已被夹在的类信息,常量,静态变量,即时编译器JIT编译后的代码数据等 (永远代),回收目标主要是常量池的回收和类型的卸载,各线程共享。