1.结构
2.各部分介绍
3.栈管运行,堆管存储
package com.jvm;
public class StackDemo {
public static void testStack(){
testStack();
}
public static void main(String[] args) {
testStack();
System.out.println("***i am method main...");
}
}
一个方法既一个栈帧
4.JVM优化
jvm主要优化堆
4.1 java堆
4.2 新生区
4.2 养老区
4.3 永久区
5. 内存划分
6. GC垃圾回收
7.GC是什么
频繁收集Yong区
较少收集Old区
基本不动Perm区
8.算法-复制算法
1.复制算法MinorGC(普通GC)
新生代使用的是MinorGC这种GC算法使用的是复制算法(Copying)
2. 原理
注意:黄色的代表要死的对象,红色表示收不掉的对象,绿色表示仅存的剩余空间
3.优缺点
优点:不会产生内存碎片完整度极高
缺点: 浪费了10%的内存空间,总要留10%为 to 区
9.算法-标记清除/标记整理算法(Full GC)MajorGC
老年代一般是由标记清除或者标记清除与标记整理的混合实现
1.标记清除
优缺点
2.标记整理
优点:不浪费空间