虚拟机栈存放栈帧, 栈帧用于存储局部变量表, 部分结果值, 方法的初始化参数和返回信息, 方法的执行通过栈帧的压栈和出栈实现....方法区
方法区用于存储以被虚拟机加载的类信息, 常量, 静态变量, 即时编译器编译后的代码数据等, 它是所有线程共享的...., 只要线程没执行完就不能回收, 否则线程跑不起来....为了讲述为什么要这么分, 需简单引入垃圾回收算法.
首先最基础, 最简单的垃圾回收算法叫标记-清除算法. 算法流程和算法名完全一致: 首先标记出哪些是可以回收的对象, 标记完后把对象清除....由JDK1.7及以前的永久代到JDK1.8的元数据区
搞定完堆区在JVM内存模型中的实现, 下面谈论方法区的实现.
在JDK1.7及以前, JVM使用永久代来实现方法区.