可以进行回收
2.可达性分析算法:通过GC root作为起点,寻找一个对象被引用过程的引用链,当引用链的结果不可达的时候,说明该对象是可以被回收的
Java中的引用
在JDK1.2之前,Java...,软引用会被GC回收
弱引用 : 用来描述非必须的对象,不管当前内存是否不足,都会被GC列为需要回收的对象
虚引用 : 唯一目的就是能在这个对象被收集器回收时收到一个系统通知
回收方法区
对于回收方法区它的性能肯定是不如回收堆空间来的简单...,因为堆空间比方法区会更加消耗内存.但是对于方法区而言也是有两种东西需要回收的,一种是废弃常量,另一种是无用的类.相对的废弃常量判定方法比较简单,没有对它的引用,就说明该常量已经废弃,但是对于无用的类判定的方法就比较复杂...:更有利于程序的长时间运行,分配大对象时不会因为无法找到连续的内存空间而提前触发了GC
4.可预测的停顿:可以设置垃圾收集的时间最大值不超过N毫秒
5.GI的执行过程
初始标记
并发标记
最终标记
筛选标记...对象分配原则
1.优先分配在新生代Eden区中,当Eden区当中空间不足时,触发Minor GC
2.大对象或者是长期存活调用频繁的对象会进入到年老代,当年老代空间不足时会触发Major GC,Major