无用存储单元收集器工作小谈

转载 2006年05月27日 12:09:00
无用存储单元收集器是因为中间语言是为处理该过程而工作的。其规则要求,第一,不能引用已有的对象,除百复制已有的引用。第二,中间语言的类型安全的语言。在这里,其含义是如果存在对对象的任何引用,该引用中就有足够的信息来确定对象的类型。
无用存储单收集机制不能和诸如未受管制的C++这样的语言一起使用,因为C++允许在类型之间使用指针自由地转换数据类型。这样,搜索代码的程序就找不到指针的值,不能获得足够的信息来确定堆的什么区域正在使用。如前氘核,IL还允许在不安全的代码中使用指针,以及在指针之间转换数据类型。但使用IL,会严格限制使用这些指针的方式,以确保在代码中使用的指针不与无用存储单元收集器的需求冲突。特别是指针不允许设置为指向引用对象。
  无用存储单元收集器的一个重要方面是它是不确定的。换言这,不能保证什么时候会调用无用存储单元收集器;.NET运行时决定需要它时,就可以调用它。显然,代码对内存的需求越多,无用存储单元收集器的调用次数就越多。但其次数是可以预计的。在代码中,可以使用.NET基类System.GC显式地调用无用存储单收集器,例如,可以在代码使用完大量的变量后调用它。但在大多数情况下,只需委托.NET运行时在合适的时候调用无用存储单元收集器即可。

相关文章推荐

编写两个线程,具有共享存储单元,运行观察结果

编写两个线程,具有共享存储单元,运行观察结果 public class Main { public static void main(String[] args) { String ...

CPU对存储单元的读写

CUP同外部芯片信息交互的3种方式: 1 存储单元的地址(地址信息) 2 器件的选择,读或者写命令(控制信息) 2 读或写的数据(数据信息) CPU同其他芯片通信的导线:总线【地址总线...
  • joneOS
  • joneOS
  • 2015年03月05日 16:53
  • 548

智能卡存储单元EEPROM,Flash和FRAM之间的性能比较

智能卡 EEPROM FLASH FRAM 性能

输出存储单元的字符串

  • 2010年10月28日 08:31
  • 247B
  • 下载

Nand Flash数据存储单元的整体架构

简单说就是,常见的Nand Flash,内部只有一个chip,每个chip只有一个plane。 而有些复杂的,容量更大的Nand Flash,内部有多个chip,每个chip有多个plane。这类的...

指针和引用是否分配存储单元的简易理解

一下都是网上的主要摘要,

独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)

【转】 【51单片机寄存器功能一览表】 21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中, ...

浅谈Java语言的垃圾收集器

  • 2013年08月02日 11:27
  • 370KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:无用存储单元收集器工作小谈
举报原因:
原因补充:

(最多只允许输入30个字)