一.前言 上文讲过了虚拟机的内存划分,即,我们将内存分为线程共享和线程私有. 线程共享的即java堆,和方法区.java堆大家可能都不会陌生:而方法区中包含了常量池,他也被称为永久代.通常方法区也会被叫做非堆,但是在逻辑上,他却是java堆的一部分,而且有些虚拟机会将方法区直接与java堆合并. 线程私有的就是虚拟机栈了,而虚拟机栈,本地方法栈,以及程序计数器.这里我们就不展开讨论了. 上面我就简单的回顾了虚拟机的内存划分部分,下面开始正文. 二.java内存模型简述 1.主内存 java内存模…