深入理解Java虚拟机读书笔记-垃圾回收

2017-09-20  本文已影响2人  耳_总

垃圾回收器执行垃圾回收主要做三个事情
1、哪些内存需要回收
2、什么时候回收
3、如何回收

可以作为GC Roots的对象包括以下几种:

可达性分析中的不可达对象也并不是马上死亡,它需要经历至少两次标记的过程。当对象没有和GC Roots相连的时候,进行第一次标记,并且进行一次筛选,如果覆盖了一个对象的finalize(),切没被系统掉用过,方法会将改对象放入F-Queue中等待,然后调用finalize()方法,注意这个方法只被系统调用一次,如果这个时候将对象赋值给一个引用,那么这个对象将会被“救活”,反之,进行第二次标记然后被回收。

垃圾回收算法

在发生GC时,所有的线程都是中断的。所以在Android中发生内存抖动,频繁GC,会导致页面卡顿等等需要性能优化的地方。

上一篇 下一篇

猜你喜欢

热点阅读