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