JVM虚拟机分为类加载子系统,运行时数据区(内存模型),字节码执行引擎三部分。
我们通常说的jvm指的是内存模型部分。
堆放的是new出来的对象,栈(线程)放的是局部变量,本地方法栈调用系统方法(底层C语言),方法区里面放的是静态变量+常量+类信息,程序计数器记录线程方法所处行数,主要应用于线程切换时,方法被中断,记录行数下次从哪行开始。
一个方法对应有一个栈帧,栈帧里面有局部变量表,操作数栈,动态链接,方法出口。
main方法的局部面量表里面是一个对象.
JVM调优主要是堆里面调优,调优目的减少fullGC。
STW stop the world fullGC 。
方法结束了 ,里面的变量会被销毁会变成垃圾对象。