jvm五大内存区域(即jvm运行时数据区),描述的是类被加载时,经过解析后,存储到特定的数据区.方法区和堆是所有线程共享的,而栈和计数器是线程私有的.栈处理程序运行的问题,堆处理数据的存储问题.所以才有堆栈分离. 方法区:又被称为永久代,用来存储类的信息,例如:方法,方法名,返回值,常量.当它无法满足内存分配需求时,方法区会抛出OutOfMemoryError. 堆:存放new出来的对象信息, 全局变量. 程序计数器:指向当前线程正在执行的行号,用来保证线程切换时回到程序调用的位置.(例如:在a…