Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域的用途各不相同,同时也依据着各自的执行规则,独立的创建和销毁数据。
虚拟机内存的划分,如图所示:
线程之间互相独立的区域有:
虚拟机栈 、本地方法栈、程序计数器
线程可以共享数据的区域:
方法区 、堆