垃圾处理GC

- 垃圾处理算法分为以下几种

        - 标记清除(mark & sweep):先从根出发将可以清除的对象都标记一遍,然后统一清除。缺点是当堆过大时,耗时较久,会存在很多碎片空间。

        - 复制:将堆内存空间分为两部分(from和to),扫描from时将不能清除的数据复制到to中,然后清空from,如此反复。适用于新生代区域的GC,缺点是浪费了百分之五十的空间。

        - 标记移动:先标记一遍,然后将存活的对象朝一边移动,适合老年代区域,可以避免内存碎片,但是移动消耗巨大。

        - 分代算法,分为新生代,老年代(即GC次数少和GC次数多的区域)分别使用不同的算法。

- 堆内部结构分为三部分,新生代,老年代和永生代

        - 新生代用于存储新对象(edn区域),在经过minorGC之后放入survivor区域,并分为S0和S1区域使用复制算法交替MinorGC。多次GC后进入老年代。

        - 老年代用于存放长期使用的对象(缓存,全局变量),老年代空间不足时触发FullGC

        - 永久代

- 堆内存的参数有:

        - Xms 初始堆大小

        - Xmx 最大堆大小 -Xmn 新生代大小

        - 调整Eden与Survivor的比例还有MinorGC的晋升次数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值