一.JVM 首先看一张JVM结构图(某度找的) 主要看运行时数据区,里边有方法区,堆,java虚拟机栈,本地方法栈,程序计数器.其中方法区和堆是线程共享的,也是JVM进行垃圾收集的区域,java虚拟机栈.本地方法栈和程序计数器是线程私有的. 程序计数器:一块较小的内存空间,是当前线程所执行的字节码的行号指示器.此区域是唯一一个不会产生OOM的内存区域. Java虚拟机栈:每个方法在执行的时候都会创建一个栈帧,用于存放局部变量表.操作数栈.动态链接.方法出口等信息.可能会发生StackOverfl…