Java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有着各自的用途,以及创建时间和销毁时间,有的区域会跟随虚拟机进程一直存在,有些区域则依赖用的线程的启动和结束而建立和销毁。具体划分如下图: