运行时数据区分成两部分(线程共享区,线程独占区) 1.线程共享区 1.1 方法区 存放运行时常量池,已被虚拟机加载的类信息,常量,静态变量,即时编译器刚编译的代码等数据 1.2 Java堆 存储对象实例 2.线程独占区 2.1 虚拟机栈 存储方法运行时所需的数据,成为栈帧 2.2 本地方法栈 为JVM调用到的native即本地方法 2.3 程序计数器 记录当前线程所执行到的字节码行号,以供线程切换时能找到处理的位置