.NET CLR(公共语言运行时)是.NET框架的重要组成部分,它提供了一种环境,使 .NET 程序能够在其中执行。CLR 负责管理 .NET 应用程序的执行,包括内存管理、线程管理、异常处理、垃圾回收等。
CLR 的工作流程是这样的:
下面是一个简单的 C# 程序,它演示了 CLR 如何管理内存和垃圾回收:
using System;
class Program
{
static void Main(string[] args)
{
// 创建一个新的对象,CLR 会为其分配内存
var person = new Person
{
Name = "John Doe",
Age = 30
};
Console.WriteLine(person.Name);
// 当 person 对象不再被使用时,CLR 的垃圾回收器会自动回收其内存
person = null;
}
}
class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
在这个示例中,当我们创建一个新的 Person 对象时,CLR 负责在内存中为这个对象分配空间。然后,在 Person 对象不再被使用(即设置为 null)时,CLR 的垃圾回收器会自动清理其占用的内存。
总的来说,CLR 提供了一个层,它抽象了操作系统,使 .NET 开发者能够专注于编写代码,而不需要关心底层的细节,如内存管理和线程调度等。