代码改变世界

《.NET内存管理宝典 》(Pro .NET Memory Management) 阅读指南 - 第1章

2020-08-04 22:18  叶伟民  阅读(1618)  评论(1编辑  收藏  举报

本章勘误:

暂无,等待细心的你告诉我哦。

本章注解:

第7页图1-4下面的第一段:堆栈从一开始就与计算机编程有着内在的联系,这主要是因为子例程的概念

什么是子例程呢?

一般地认为,子例程是某个主程序的一部分代码,该代码执行特定的任务并且与主程序中的其他代码相对独立。
子例程又被称为子程序、过程、方法、函数等。在主程序中可以调用子例程来执行。
函数,是一种子程序,利用函数名称,可以接收回传值。

本章释疑:

第6页最后一段

能否想象一台机器的指令集允许我们直接在内存上执行操作,而不需要将数据加载到寄存器中呢?遵循我们的伪汇编语言,它可能看起来更简洁、更高级,因为从内存到寄存器及其相反过程没有额外的加载/存储指令:

遵循我们的伪汇编语言 这句话缺少主语,谁遵循

答:英文原文里也没有明确指出,我认为应该是”编程如果遵循我们的伪汇编语言“,但是没有充分的支持理由,所以留下空间给读者自己理解吧。


 

1.1.6堆 的堆栈是否应该为栈

表1-1 堆栈和堆特性的比较

问题:这些对 堆栈和堆 的描述,的 堆栈 是否应该为 栈 才对?

根据

里的定义,“堆栈”和“栈“是同义词。


 

1.5跟踪回收器(Tracking Collector ) 

停止标记阶段所需的世界 - 但仅限于非并行形式

出处:第32页

问题:这里的“世界”是否为“时间”?

原文是“Stop the world needed for Mark phase - but only in a non-concurrent flavor.” 所以这里不是错别字. 并且后面的章节有提到“停止世界”这个名词。请阅读后面章节里的“停止世界”相关内容。

致谢

MVP 林德熙

MVP 吕毅