- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我觉得我错过了一些非常简单的东西,但我试图根据 Andrew Appel 的《ML 中的现代编译器实现》一书来理解标记和清除垃圾收集,并且标记和清除部分中有一个小段落,标题为“指针反转”(270)。
现在我想我明白它是如何工作的了。简而言之,当您遍历图表时,您会翻转所有指针,以便您的前任位于您的字段集内。然后,当您完成给定元素时,将指针翻转回来,以便它们再次指向正确的位置。
如果这是正确的,它到底能给你带来什么?阿佩尔试图解释这一点,但我并没有完全理解他的措辞。
最佳答案
在标记过程中,对象分为三类:
随着标记的进行,对象的状态从类别 1 更改为类别 2,从类别 2 更改为类别 3。垃圾收集器必须跟踪类别 2 中的所有对象,以便它可以找到所有未标记的对象。但它在哪里存储这些信息呢?垃圾收集可能在内存完全满时运行,因此它无法动态分配数据结构。它应该使用已分配的内存构建一个保存类别 2 中的对象的数据结构。指针反转是一种在不分配内存的情况下构建这些对象的链表的算法。
关于pointers - 标记和清除垃圾收集中的指针反转会给您带来什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10284379/
当我为我的项目运行“mvn dependency:tree”时,它显示如下: [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ x
我调用 ajax 的脚本 function search_func(value) { $.ajax({ type: "GET", url: "sample.php
我正在使用 SIM 安装 Sitecore 8.1,但在打开启动板时,由于 ajax 请求返回 HTTP 500 错误,出现了几个 Javascript 错误。查看开发人员工具会显示以下消息: htt
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我有一张 table : +-----------+-------------+------+-----+---------+-------+| Field | Type | N
所以,我对这个阵列很生气,第 2 天让我感到疼痛 *.... 我正在开发面向对象的 PHP 脚本。 我得到一个数组: Array ( [0] => Project Object ( [project_
我正在尝试将我的一个 Rails 项目升级到 Ruby 1.9.2。一切进展顺利,但一个 RSpec 测试失败了。在这个测试中,我需要一个Ruby lib: # file spec/models/my
我可以使用 Maven 的插件 spring-boot:run 运行 Spring Boot,但是当我尝试执行打包的 jar 时,它给出: Error creating bean with name
我是一名优秀的程序员,十分优秀!