zoukankan      html  css  js  c++  java
  • Android垃圾回收机制

    一. 垃圾回收机制

    1. 新生代(Young Generation):

    1)   大多数新建的对象都位于Eden区

    2) 当Eden区被对象填满时,就会执行minor GC,并把所有存活下来对象转移到其中一个survivor区

    3) survivor space:s0, s1 两个区域,存放每次垃圾回收后存活的对象

    4) minor GC同样会检查survivor 区,这样一段时间内,总会有一个空的servivor区

    2.老生代(Old Generation)

    1)  存放长期存活的对象和经过多次minor GC后依然存活下来的对象

    3. 永生代(Permanent Generation)

    1) 存放方法区,存放应用程序类和方法,静态变量,final类型的常量、属性和方法信息

    二. GC的触发条件

    GC分为minor GC 和 major GC 

    minor GC从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC

    major GC 是清理老年代永生代

    1 minor GC触发条件

    1)当Eden区满时,触发minor GC

    2 major GC 触发条件:

    1)老生代空间不足

    2)永生代空间不足

    3)通过minor GC后进入老生代的平均大小大于老生代可用内存

    4) 由Eden区,from Space区向 to Space区复制时,对象大小大于to Space可用内存,则把该对象传入老生代,且老生代的可用内存小于该对象大小

  • 相关阅读:
    基本语句
    mysql多表查询方法(join)
    MySQL JOIN 多表连接
    MySQL SHOW INDEX语法的实际应用
    1.索引作用
    MySQL索引和优化查询
    mysql复合索引、普通索引总结
    mysql 索引相关
    for循环的break和continue
    保护程序猿滴眼睛---修改VS 2012 编辑器颜色
  • 原文地址:https://www.cnblogs.com/Ayinger/p/11966551.html
Copyright © 2011-2022 走看看