C#与.NET(初步了解)
2011-07-21 18:03
274 查看
C#[/i]是专门为了与[/i].NET[/i]配合使用而设计[/i]。同时针对之前存在的OO语言(如C++)的设计经验进行改进。
.NET的核心是CLR[/i](公共语言运行库)[/i],在CLR控制下运行的代码称为managed code[/i](托管代码)[/i]。
.NET中编译分为两个阶段:
1 把源码编译为MSIL[/i]([/i]Microsoft[/i]中间语言)[/i]。
2 CLR(通过JIT)把MSIL程序集编译为平台的执行代码。
对MSIL的编译,总是即时编译([/i]JIT[/i])[/i]:只编译被调用的那部分代码,并将得到的可执行码进行存储,以备下次运行这部分代码时使用。(大大提高性能)
.NET使用垃圾收集器[/i]进行内存管理(在C++中,动态的内存申请和释放,需要程序员来完成。使用不慎,很容易造成memory leak)。由CLR维护一个托管堆[/i],.NET动态申请的内存在该托管堆中分配。当.NET检测到给定进程的托管堆已满时就动用垃圾收集器对托管堆中不用的对象进行清理。
.NET基类内容丰富,且直观易用。在c#中使用.NET类库可以大大简化工作。
.NET的核心是CLR[/i](公共语言运行库)[/i],在CLR控制下运行的代码称为managed code[/i](托管代码)[/i]。
.NET中编译分为两个阶段:
1 把源码编译为MSIL[/i]([/i]Microsoft[/i]中间语言)[/i]。
2 CLR(通过JIT)把MSIL程序集编译为平台的执行代码。
对MSIL的编译,总是即时编译([/i]JIT[/i])[/i]:只编译被调用的那部分代码,并将得到的可执行码进行存储,以备下次运行这部分代码时使用。(大大提高性能)
.NET使用垃圾收集器[/i]进行内存管理(在C++中,动态的内存申请和释放,需要程序员来完成。使用不慎,很容易造成memory leak)。由CLR维护一个托管堆[/i],.NET动态申请的内存在该托管堆中分配。当.NET检测到给定进程的托管堆已满时就动用垃圾收集器对托管堆中不用的对象进行清理。
.NET基类内容丰富,且直观易用。在c#中使用.NET类库可以大大简化工作。
相关文章推荐
- .NET(C#) Internals: 以一个数组填充的例子初步了解.NET 4.0中的并行(一)
- .NET(C#) Internals: 以一个数组填充的例子初步了解.NET 4.0中的并行(一)
- .NET(C#) Internals: 以一个数组填充的例子初步了解.NET 4.0中的并行(一)
- .NET(C#) Internals: 以一个数组填充的例子初步了解.NET 4.0中的并行(一)
- .NET(C#) Internals: 以一个数组填充的例子初步了解.NET 4.0中的并行(一)
- .NET(C#) Internals: 以一个数组填充的例子初步了解.NET 4.0中的并行(二)
- .NET(C#) Internals: 以一个数组填充的例子初步了解.NET 4.0中的并行(一)
- .NET(C#) Internals: 以一个数组填充的例子初步了解.NET 4.0中的并行(二)
- .NET(C#) Internals: 以一个数组填充的例子初步了解.NET 4.0中的并行(一)
- ADO.NET .net core2.0添加json文件并转化成类注入控制器使用 简单了解 iTextSharp实现HTML to PDF ASP.NET MVC 中 Autofac依赖注入DI 控制反转IOC 了解一下 C# AutoMapper 了解一下
- C#和.Net的初步研究
- .Net中初步了解ORM框架
- 一起谈.NET技术,了解 C# 4 中的 Dynamic 关键字
- C#socket类初步了解(客户端与服务端的建立)
- C#和.Net的初步研究
- Unity初学入门1 学习笔记 (已初步了解Unity界面与C#脚本语言)
- 了解 C# “.NET研究”4 中的 Dynamic 关键字
- Task C# 多线程和异步模型 TPL模型 【C#】43. TPL基础——Task初步 22 C# 第十八章 TPL 并行编程 TPL 和传统 .NET 异步编程一 Task.Delay() 和 Thread.Sleep() 区别
- [C#][转载] .Net应该学什么怎么学(感觉适合新手,对了解整个.NET知识结构有帮助)
- C#的初步了解