面向对象进阶阶段
1.JVM概述以及内存结构;
JVM(JVM虚拟机),定义一套编译,解释执行Java代码的规范,基于这套规范市场上有不同的产品实现,比如:Hotspot,JRockit,J9等。
2.Metaspace(元数据区):又叫方法区,主要存放字节码文件
3.heap(堆):存放实例对象地址,分为四块:eden,so,s1,old;工作原理:对象创建后会放到eden区,达到一定内存空间会出发gc(小gc),没有被回收的对象被移入s0或s1区,其中一个为空,如果回收8次的对象还存活,这是就会被移入old区。
4.stack:方法栈的生命周期,因为他们都是线程私有的,线程开始和结束对应他们的生命周期;stack中存储的是线程下面运行的方法;栈中又存放了栈帧,栈帧里面存放的是方法的元数据信息,比如:方法名,返回值,参数,方法的局部变量等;
5.program counter(程序计数器):记录的是cup执行线程到哪个位置了,重新获取CPU时间片后,得知道从哪里开始继续执行