一、内存区域与内存溢出异常 运行时数据区 程序计数器 是线程私有的;可看做当前线程执行字节码的行号指示器; 虚拟机栈 是线程私有的;描述java方法执行的线程内存模型,每个方法被执行时都会在虚拟机栈中创建一个栈帧,用于存放局部变量表、动态链接、方法出口等信息; 本地方法栈 是线程私有的;为本地native方法提供服务(HotSpot虚拟机不区分虚拟机栈和本地方法栈); 堆空间 是线程共享的;唯一目的就是存放对象,几乎存放了所有对象(部分对象会通过即时编译器的逃逸分析将其分配在虚拟机栈的栈帧上),不过从内存分配的角度看,可以将堆空间划分为多个线程私有的线程分配缓冲区; 方法区 是线程共享的;用于...