Java千百问_07JVM架构(008)_java垃圾回收机制是什么

点击进入_更多_Java千百问

1、如何判断垃圾对象

垃圾收集的第一步就是先需要算法来标记哪些是垃圾,然后再对垃圾进行处理。通常的编程语言都会用以下算法之一进行判断:

  1. 引用计数(ReferenceCounting)算法
    这种方法比较简单直观,核心思路是,给每个对象添加一个被引用计数器,被引用时+1,引用失效-1,等于0时就表示该对象没有被引用,可以被回收。

FlashPlayer/Python使用该算法,简单高效。但是,Java/C#并不采用该算法,因为该算法没有解决对象相互引用的问题,即:当两个对象相互引用且不被其它对象引用时,各自的引用计数为1,虽不为0,但仍然是可被回收的垃圾对象。

  1. 根搜索(GC Roots Tracing)算法

基本原理是:GCRoot对象作为起始点(根)。如果从根到某个对象是可达的,则该对象称为可达对象(存活对象,不可回收对象)。否则就是不可达对象,可以被回收。</

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付 49.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值