1.JVM概述
1.Class Loader类加载器
2.本地库接口
和C打交道 Java Native Interface JNI
例如
java的native方法 交给操作系统去干,操作系统去找本地方法库,所以native方法不用实现
3.方法区
4.PC Register 程序计数器
5.Native Method Stack 本地方法栈
6.虚拟机栈
每⼀个栈帧就是⼀个⽅法
7.堆
new的对象在堆内存的新⽣区的伊甸区
1.新生区
new⼀个⼤对象,测试jvm的最⼤内存
2.养老区
3.永久区
永久区例如Object实例对象存储在永久区
java7叫永久区 java8叫元空间
2.JVM Demo总结及调优
toString()源码分析:
1.jdk1.7配置及堆结构
2.jdk1.8配置及堆结构
3.jvm调优 -Xmn -Xms -Xmx
代码测试jvm的最⼤分配内存,和jvm使⽤内存
调整jvm内存⼤⼩
输出结果:
3.jvm 垃圾回收机制
gc:demo
1.minor GC 及复制算法
minorgc只针对新⽣代进⾏清理,主要采⽤复制算法
2.full gc/major gc,对⽼年代进⾏回收,主要采⽤标记清除算法和标记整理算法
1.标记清除算法:
标记清除算法的缺点:
2.标记整理算法: