最近在看《深入理解虚拟机》,对线程内存模型做如下总结,以供今后复习。
虚拟机内存大体分为,程序计数器,栈内存与堆内存,方法区。如下图
jvm内存模型深入理解程序计数器是线程独有内存,非常小,以记录线程下一步指令作用,在多线程切换上下文需要记住某些指令供下次继续使用,所以程序计数器是线程独有占内存,其他线程访问不到
栈内存与线程生命周期相同,有jvm栈,本地方法栈。堆内存有方法区和堆,线程共享。其中jvm栈在类加载就确定了存放了方法的局部变量表,方法区有常量池,方法区存放一些类的声明和方法定义,常量池存放变量,堆内存中存放对象实例。
网友评论