Dotnet GC原理
2008-12-17 16:14
127 查看
一、简介
GC是Dotnet 内存管理的机制,GC负责内存的分配和回收。
二、GC概念
在以往,程序员都需要自己分配、释放资源。很多程序上的错误都因为内存没有释放导致。Dotnet的GC(垃圾收集)机制就让程序员从内存管理的繁琐工作中解放出来,从而专注于业务逻辑的开发。
三、实现
1)内存分配
所有引用类型都从堆中分配。堆可以看做一块连续的内存块。
2)内存回收
当程序请求分配内存时,GC会去堆查看是否还有足够的内存分配;如果不够,则进行内存回收。首先,它会遍历所有的根(全局、静态变量指针,堆栈中局部遍历指针,CPU存储器等)查找出在堆中所有还在被使用的对象,建立一张图。接着,压缩内存,把分散的、还在使用的内存合并移动要一块连续的内存块中,修正根的引用,重指向移动后的内存块。接着,对已分配、已没被使用的内存进行回收。
GC是Dotnet 内存管理的机制,GC负责内存的分配和回收。
二、GC概念
在以往,程序员都需要自己分配、释放资源。很多程序上的错误都因为内存没有释放导致。Dotnet的GC(垃圾收集)机制就让程序员从内存管理的繁琐工作中解放出来,从而专注于业务逻辑的开发。
三、实现
1)内存分配
所有引用类型都从堆中分配。堆可以看做一块连续的内存块。
2)内存回收
当程序请求分配内存时,GC会去堆查看是否还有足够的内存分配;如果不够,则进行内存回收。首先,它会遍历所有的根(全局、静态变量指针,堆栈中局部遍历指针,CPU存储器等)查找出在堆中所有还在被使用的对象,建立一张图。接着,压缩内存,把分散的、还在使用的内存合并移动要一块连续的内存块中,修正根的引用,重指向移动后的内存块。接着,对已分配、已没被使用的内存进行回收。
相关文章推荐
- .Net GC 机制原理
- .Net GC 机制原理
- .NET垃圾回收(GC)原理
- ASP.net(1.1)原理学习笔记--第五章 诊断和错误处理
- ASP.net(1.1)原理学习笔记--第八章 自定义控件Custom Controls
- Bloom Filter概念和原理 - Bloom Filter - 博客频道 - CSDN.NET
- 【深入ASP.NET原理系列】--ASP.NET请求管道、应用程序生命周期、整体运行机制
- 详细的java(GC)原理
- 研究: dotnetnuke 论坛.(asp.net + vb.net 组成)
- asp.net页面回传与js调用服务端事件,Postback的原理
- Blog已迁移到dnnsun.com(最新DotNetNuke咨询平台)
- Dotnetnuke 6 设置安装
- .net模版引擎-DotLiquid使用
- .net GC 和工作原理
- .NET 1.1中预编译ASP.NET页面实现原理浅析
- DNN(DotNetNuke)研究手札系列1-资源 (转载)
- JVM垃圾回收(GC)原理
- 开放源码的.NET 反编译工具 .NET IL调试工具 学习微软中间语言(MSIL)的绝佳工具 Dotnet IL Editor 推荐
- Using CoCreateObjectDotNet to Access and Use .NET Assemblies in InstallScript
- [原创]深入剖析ASP.NET的编译原理之一:动态编译(Dynamical Compilation)