Java的垃圾回收使用可达性分析算法,
GC Roots (根对象)包括
1.虚拟机栈中引用的对象
2.方法区中类静态属性引用的对象
3.方法区中常量引用的对象
4.本地方法栈中,JNI(native 方法)引用的对象
回收的方法有两个,标记消除法和标记整理法:两个方法都是先将通过可达性算法找到的要消除的垃圾进行标记,标记消除法是直接消除,这样会让原本相连的内存中间不再相连,中间有空的地方,而标记整理法是先进行整理,把有用的变量整理到一起,要回收的垃圾变量整理到一起,把然后在进行消除,这样便于后面的线程程序更便捷加入变量
分代