jvm内存模型学习心得

     昨天面试了两家,备受打击,问的多的就是jvm内存,然额真的是一头雾水。工作中用到的真是少之又少,面试还得问道,

今天恶补了下,在此作以下总结:

jvm分为5部分

1.程序计数器

jvm支持多线程运行,每个线程都有自己的程序计数器,如果执行的是jvm的方法,那保存的是当前指令的地址,如果执行是native方法,则为空

2.java栈

栈里面是每个栈帧,每个栈帧对应一个方法。栈帧里包括局部变量表(基本类型和引用地址),操作数栈,常量池的引用,方法的返回地址

3.本地方法栈

存储的为native方法

4堆

对象和数组

5.方法区

类的信息,静态变量,常量,编译器编译后的代码

 

另外永久代和元空间概念,了解

 

 

参考网址:http://www.cnblogs.com/dolphin0520/p/3613043.html

参考网址:https://www.cnblogs.com/paddix/p/5309550.html

原文地址:https://www.cnblogs.com/xiaozhijing/p/8297272.html