.net framework基本概念

1.什么是.net framework?
  实际上就是一个由微软开发的Web Services 引擎。
  对于一些非专业开发人员:最直观的理解可以是:它提供了一些指令的解释,一些使用了这些指令的软件必须运行在相应的.NET Framework环境中。
  对于一些开发人员:可理解为:一个类似于java虚拟机工作原理的平台,该平台首先将开发语言(C#,VB等)编译成一种中间语言,然后再将中间语言生成在特定操作系统和机器上运行的本机代码。

2.可以在哪些操作系统上运行?
   主要在windows下运行,但也有开源项目mono使.net程序可以运行于linux操作系统

 

3.java与.net对比?
  java:跨平台但不跨语言
  .net:跨语言但不跨平台

 

4.可使用.net framework的语言有哪些?
   C#,VB,C++,cobol等.以上这些程序都可以在.net framework上运行,而且由于.net framework本质上就是一个web service引擎,故还可完成这些语言之间的交互,例如:C#开发者可以使用VB的代码。

5.组成.net framework的两个主要部分各自的作用是什么?
 .net framework类库:提供了编写托管应用程序的API。所以编写.net framework应用程序时,不需要考虑Windows API、MFC、ATL、COM或其他技术,只需要使用.net framework类库。该类库还分为多个模块,例如:一个模块包含编写应用程序的构件、另一个模块包含了Web开发的构件。
 公共语言运行库:         抽象了操作系统服务,代替托管应用程序来调用操作系统。所谓托管应用程序,就是指它的每一个动作都要经过公共语言运行库批准,由公共语言运行库来与操作系统打交道。


6.总结创建.net framework应用程序的步骤是什么?
  1)编码阶段——使用某种.net支持的语言编写代码
  2)编译阶段——将代码编译成中间语言并存到程序集中
  3)执行阶段——用JIT编译器将中间代码编译为本地代码
  4)执行阶段——在公共语言运行库中以为托管的方式运行本机代码


7.几个常见名词
 .net :通常就是指.net framework
 ado.net  :指.net framework下的数据库访问技术
 asp.net  :指.net framework下的动态网页制作技术
 vb,C#    :   都是.net framework所支持的编程语言 
 托管代码 :指该代码不直接调用操作系统功能,而全部由.net framework来管理,由.net framework来与操作系统打交道.用.net framework编写的代码在执行时都是托管的,显然C#只能写托管代码。实际上是公共语言运行库在进行实际管理工作。
 MSIL      :微软中间语言(microsoft intermediate language),就是.net framework第一次编译生成的中间语言.
 JIT编译器:just-in-time编译器,在程序真正运行时,将其从中间语言编程成在特定机器上运行的本机代码。
 程序集    :主要包含了中间语言代码,引用的库(.dll文件),资源文件(声音,图像之类)等内容
 垃圾回收 :由.net framework自动检查,从中释放不再需要的内存,但是检查的频率是不确定的,故在申请较大内存后,最好还是程序员主动进行释放,以便及时释放内存。

原文地址:https://www.cnblogs.com/edisonfeng/p/dotnet.html