美文网首页
编译原理——收集器

编译原理——收集器

作者: 牛程程 | 来源:发表于2017-10-15 22:39 被阅读0次

•标记扫描收集器首先跟踪访问标记所有可访问的对象,然后扫描堆来释放不可访问的对象。
•标记压缩收集器改进了标记和扫描;它们重新排列堆中的可访问对象来消除内存碎片。
•复制收集器会破坏跟踪和查找可用空间的依赖关系。他们将内存分成两个空间A和B。从空间A满足分配请求到它填满,那时垃圾收集器接管,将可访问对象复制到另一个空间B,并且反转空间之间的角色。
•增量收集器。简单跟踪收集器在收集垃圾时停止用户程序。增量收集器交织垃圾收集器和修改器或用户程序的动作。修改器可以干扰增量可访问性分析,因为它可以更改以前扫描对象中的引用。因此,增量收件人可以通过高估一组可访问到的对象来安全;任何“浮动垃圾”都可以在下一轮收集中获取。
•部分减少收集器。他们一次收集垃圾的一部分。最常见的部分收集算法,代数垃圾收集,根据分配时间分配对象,并且更经常地收集新创建的对象,因为它们往往有较短的生命周期。一种替代算法,列车算法使用被称为车辆的固定长度分区,被收集到列车中。每个收集步骤被应用到剩下的第一列火车。当收集车辆时,可访问的对象被移出到其他车辆,所以这辆车留下垃圾,可以从火车中取出。这两种算法可以一起使用来创建一个部分收集器,它将代数算法应用于较新的对象,并将训练算法应用于更成熟的对象。

相关文章

  • 编译原理——收集器

    •标记扫描收集器首先跟踪访问标记所有可访问的对象,然后扫描堆来释放不可访问的对象。•标记压缩收集器改进了标记和扫描...

  • 编译原理

    编译原理 标签(空格分隔): 编译原理 编译和解释 编译 整个程序全部翻译结束之后,程序才能开始运行;编译和运行是...

  • 《你不知道的JavaScript(上)-作用域和闭包》学习笔记

    1.编译原理: (1)编译器、作用域、引擎 编译器会忽略重复声明 编译原理(p7): 例如:var a=2,编译器...

  • 《深入解析Hello,World》 :第三章 java源代码是怎

    javac实现原理 编译器原理

  • JVM之ParNew和CMS日志分析

    在两年前的文章 JVM 学习——垃圾收集器与内存分配策略中,已经对 GC 算法的原理以及常用的垃圾收集器做了相应的...

  • 编译原理总结提炼

    一、前言 编译原理是大学一门计算机基础课程,学习了编译原理并不意味着可以写出一个编译器,但学习编译原理可以给我们程...

  • 22-大厂面试题:Con-current Mode Failur

    上文我们已经介绍了CMS垃圾收集器的工作原理以及流程,本篇我们接着深入说明CMS垃圾收集器的缺点以及所导致的一些问...

  • 性能调优

    JVM参数及调优 堆大小调整 垃圾收集器调整 JIT编译器 大多数调优选项都与调整大小和选择最适合的垃圾收集器有关...

  • JavaScript的工作原理:解析、抽象语法树(AST)+ 提

    摘要: JS的"编译原理"。 原文:JavaScript的工作原理:解析、抽象语法树(AST)+ 提升编译速度5个...

  • 编译原理

    编译执行和解释执行的区别把计算机高级语言编写的程序(源程序)翻译成该计算机的汇编语言或机器语言书写的程序(目标程序...

网友评论

      本文标题:编译原理——收集器

      本文链接:https://www.haomeiwen.com/subject/dbchuxtx.html