JVM 垃圾回收机制

栏目: Java · 发布时间: 6年前

内容简介:垃圾回收 GC (Garbage Collection),回收的目的在于 清理不再使用的对象。GC 通过确定对象是否被活动对象引用来确定是否收集该对象。GC 首先要判断 该对象是否可以收集。常用的两种方法:

垃圾回收 GC (Garbage Collection),回收的目的在于 清理不再使用的对象。GC 通过确定对象是否被活动对象引用来确定是否收集该对象。GC 首先要判断 该对象是否可以收集。

常用的两种方法:

  1. 引用计数法

    这种方法是属于早期策略。其中,堆中的每个对象都有一个引用计数,当对象A创建,对象会被分配一个变量,初始化为 1 ,当任何变量被赋值为这个对象的引用时,计数+1(a = b,则b引用对象计数+1)。当对象引用计数值为 0 时,则会被 GC 收集。

    • 优点:引用计数收集器可以很快地执行,交织在程序运行中。
    • 缺点:无法检测出循环引用。
  2. 跟踪收集器
  • 如今JVM 采用引用遍历,沿着整个对象图上的每个链接,递归确定可到达的对象,若对象不能从根对象到达,则会将它作为垃圾 收集。
  • 在遍历对象时,标记能到达的对象进行。然后GC删除不可达到的对象,这样会导致内存分为一小段,需要重新整合。
  • 在执行时,需要停止其他活动,只有GC运行,多线程会增加效率。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Perl高效编程

Perl高效编程

霍尔 / 胜春、王晖、张东亮、蒋永清 / 人民邮电出版社 / 2011-5 / 65.00元

《Perl高效编程(第2版)》,本书是Perl编程领域的“圣经级”著作。它提供了一百多个详实的应用案例,足以涵盖编程过程中经常遇到的方方面面,由此详细阐释出各种高效且简洁的写法。一起来看看 《Perl高效编程》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

SHA 加密
SHA 加密

SHA 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具