java jvm内存详解

栈 本地方法栈 程序计数器 方法区

1 堆中就是存new 出来的新对象

堆里面有年轻代 老年代模块 ,年轻代里面有eden区 和survivor区 。新建的对象先进入年轻代,对象若长时间不被引用,就进入老年代,若老年代满了就出现 full gc。

2 栈相当于一个个线程 里面有

局部变量表(存一些变量)

操作数栈(将值赋值给变量就是给局部变量表中的变量)

动态链接(放执行的方法指定的代码位置)

方法出口(执行的方法执行完了返回到执行的位置)

其中局部变量表与堆中对象相对应


3 本地方法栈(线程调用start方法 相当于调用C++写的本地方法,单独的内存)

4 程序计数器用来存执行代码的行号(java编译的文件里面代码执行到第几行)

5 方法区也叫元空间(存储 静态变量 常量 类信息) 方法引用堆中的对象

java jvm内存详解

详图


分享到:


相關文章: