java JVM的深入理解
java JVM的理解:
编译--》运行(利用虚拟机【解释器】解释执行class字节码文件
1.JVM的位置:JVM存在JRE里,是java的运行环境;
2.JVM的体系结构
java--》.class--》类装载器--》运行时数据区(方法区,Java栈,本地方法区navtive method 堆,程序计算器)--》执行引擎
3.类加载器:加载class文件 ,启动加载器
4.双亲委派机制:从当前类向上委派查找,一层层递进
字节码加载器:
解释器:
沙箱安全机制:字节码校验器,确保遵守java语言规范
5.Native关键字:说明java的作用范围到不达了,会调用本地方法接口,扩展java的功能,融合不同的语言为java所用.
private native void start0()
6.PC寄存器:
7.方法区
8.栈
9.三种JVM
10.堆
新生区
老生区
永久区
堆内存调优
11.GC:垃圾回收,只能在堆heap回收,大部分回收的是新生代
GC算法:标记清除法,标记整理,复制算法,引用计数器
轻GC,重GC在什么时候发生?引用计数法,用一次加1次数
JMM
12.OOM,
13.内存快照如何抓取,怎么分析DUMP
14.JVM类加载器的认识