1. 栈、堆、方法区关系交互
运行时数据区结构图:
从线程共享与否的角度来看:
2. 方法区的理解
2.1 方法区在哪里?
《Java虚拟机规范》中明确说明:“尽管所有的方法区在逻辑上属于堆的一部分,但一些简单的实现可能不会选择去进行垃圾收集或者进行压缩。”但对于HotSpotJVM而言,方法区还有一个别名叫做Non-heap(非堆),目的就是要和堆分开。
所以,方法区可以看作是一块独立于Java堆的内存空间。
2.2 方
运行时数据区结构图:
从线程共享与否的角度来看:
2.1 方法区在哪里?
《Java虚拟机规范》中明确说明:“尽管所有的方法区在逻辑上属于堆的一部分,但一些简单的实现可能不会选择去进行垃圾收集或者进行压缩。”但对于HotSpotJVM而言,方法区还有一个别名叫做Non-heap(非堆),目的就是要和堆分开。
所以,方法区可以看作是一块独立于Java堆的内存空间。
2.2 方