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运行,多线程会增加效率。

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

查看所有标签

猜你喜欢:

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

第三次浪潮

第三次浪潮

[美]阿尔文·托夫勒 / 黄明坚 / 中信出版集团 / 2018-7 / 79.00元

《第三次浪潮》是美国著名未来学家阿尔文•托夫勒的代表作之一。1980年出版之际,随即引起全球热评,堪称中国改革开放的指南。本书阐述了由科学技术发展引起的社会各方面的变化与趋势。托夫勒认为,人类迄今为止已经经历了两次浪潮文明的洗礼:第一次是农业革命,人类就此从原始渔猎时代进入以农业为基础的文明社会,并历经千年,直到工业革命的到来。随后,人类社会历时300年摧毁了落后的第一次浪潮文明,并在“二战”后1......一起来看看 《第三次浪潮》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具