Java垃圾回收(Garbage Collection:GC)

Java垃圾回收(Garbage Collection:GC)

一.好处和缺陷

1.好处:

1).垃圾回收器能够精确标记活着的对象。

**垃圾(无用的对象,死去的对象):**当没有对象引用指向原先分配给某个对象的内存时,该内存便成了垃圾。

2).垃圾回收器能够精确定位对象之间引用关系,所有对象均能重新分配,防止内存支离破碎。

**碎片:**由于创建对象和垃圾回收期释放丢弃对象所占的内存空间,导致的内存块之间的空隙。

3).有效的防止内存的泄露。

**内存泄露:**无用信息对象不能被回收,导致无用信息对象所占内存空间越来越多,可用空间越来越少,造成内存泄露。

2.缺陷:

1).垃圾回收发生的时间,不可确定。

system.gc()同样是不确定方法,调用此方法,只能向JVM发出一个申请,是否真正指向垃圾回收机器,是否一定能启动垃圾回收器,均是未知的。

2).影响程序性能。

JVM必须跟踪允许程序中有用的对象。

你可能感兴趣的:(java)