垃圾回收的两点三共四标

java的垃圾回收主要是来解决两个问题的:

1、找到内存空间里的垃圾

2、回收垃圾,让程序能再次利用这部分空间

 

这里插一句解释什么是垃圾:就是分配到堆中的那些不能通过程序引用的对象称为非活动对象,也即是占着坑不拉屎的垃圾。

 

处理这些垃圾的算法也有几种:标记清除算法、复制算法、分代算法等

 

这些算法都是在解决以下三个问题:

1、如何分辨出哪些是垃圾

2、如何、何时搜索垃圾

3、如何、何时清除垃圾

 

若是对算法进行选择,就要依赖以下四个标准:

1、吞吐量:单位时间内的处理能力

2、最大暂停时间:GC执行过程中,应用暂停的时长。较大的吞吐量和较短的最大暂停时间不可兼得。

3、堆的使用效率:就是堆空间的利用率。可用的堆越大,GC运行越快;相反,越想有效地利用有限的堆,GC花费的时间就越长。

4、访问的局部性:把具有引用关系的对象安排在堆中较近的位置,就能提高在缓存中读取到想利用的数据的概率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值