1、程序计数器 线程私有(正在执行的虚拟机字节码指令地址) 2、虚拟机栈 线程私有(java虚拟机栈:运行java方法;本地方法栈:为虚拟机用到的Native方法服务)。 每个方法在执行的同时都会创建一个栈帧(Stack Frame): 局部变量表、操作数栈、动态链接、方法出口 3、堆 所有线程共享;新生代、老年代 4、方法区 (类信息、常量、静态变量)常量池(编译期生成的各种字面量和符号引用)