堆
栈 本地方法栈 程序计数器 方法区1 堆中就是存new 出来的新对象
堆里面有年轻代 老年代模块 ,年轻代里面有eden区 和survivor区 。新建的对象先进入年轻代,对象若长时间不被引用,就进入老年代,若老年代满了就出现 full gc。
2 栈相当于一个个线程 里面有
局部变量表(存一些变量)
操作数栈(将值赋值给变量就是给局部变量表中的变量)
动态链接(放执行的方法指定的代码位置)
方法出口(执行的方法执行完了返回到执行的位置)
其中局部变量表与堆中对象相对应
3 本地方法栈(线程调用start方法 相当于调用C++写的本地方法,单独的内存)
4 程序计数器用来存执行代码的行号(java编译的文件里面代码执行到第几行)
5 方法区也叫元空间(存储 静态变量 常量 类信息) 方法引用堆中的对象