小二哥's blog

----zhangzs8896(小二)

导航

.NET的几大热点

Posted on 2005-12-11 20:52  小二哥  阅读(294)  评论(0编辑  收藏  举报

一:什么是.NET?它包括什么?
.Net是为简化在第三代因特网的高分布式环境下的应用程序开发,基于开放互联网标准和协议之上,实现异质语言和平台高度交互性,而构建的新一代计算和通信平台。
.Net主要包括公共语言运行时(Common Language Runtime).Net构架类库

二: .NET的主要优点有哪些?
    .Net的主要优点有跨语言,跨平台,安全,以及对开放互联网标准和协议的支持.
    <a>.Net支持多种语言的互操作,即在一种语言下开发的组件,可在另一组件下通过面向对象的继承而得
       以重用,目前
.Net支持的语言达二十多种。
    <b>.Net通过将各语言先编译成中间语言(IL),然后再执行时用即时编译器(Just In Time)将之编译成本
       地平台代码来实现异构平台下对象的互操作,目前
.Net支持的平台有Windows,LinuxUnix的支持正
       在开发中。
 
    <c>.Net通过公共语言运行时(Common Language Runtime)来实现资源对象,类型的安全.
    <d>.Net通过对HTTP,XMLSOAPWSDLInternet标准的强劲支持提供在异构网络环境下获取远程服务,
       连接远程设备,交互远程应用的编程界面
.

三: .Net中的公共语言运行时(Common Language Runtime)指什么?它在.Net中处什么位置? 
    CLR(Common Language Runtime)公共语言运行时是整个.net framework构建的基础,是实现.Net跨平
    台,跨语言,代码安全等核心特性的关键。它实际上是驻留在内存里的一段代理代码,负责在
.net
    整个执行期间的代码管理工作,比较典型的有:内存管理,线程管理,远程管理,代码强制安全类型
    等。这些都可称得上
.net framework的生命线。实际上,CLR代理了一部分操作系统的管理
    功能。

四..Net构架类库是什么?包括哪些内容?
    <a>.Netl构架类库是基于运行时面向对象的特性而建造的,和CLR紧密集成的一族可重用类(Class)的集
        合。它大大简化了软件开发的难度,而且很容易与第三方组件无缝集成.
    <b>.Net架构类库主要包括对一下编程模型的支持:1.控制台应用程序 2.脚本与宿主应用程序
       3.Windows Form应用程序 4.asp.net应用程序 5.WebService应用程序.

五..Net支持的开发语言有哪些?.Net语言的互操作性是指什么? 
    <a>Net声称支持市面上20多种语言,但目前只有微软官方发布的C#,Visual Basic.NetManaged C++,
       Jsript,
其他厂商声称正在开发中的支持工具有COBOL,Eiffel,Perl,Smalltalk,Python  
    <b>.Net语言的互操作性是指遵循CLR规范的语言在对象继承方面的支持,即用一种语言在.Net平台下开
       发的类可在另一语言中重用,这通过一种称作微软中间语言
MIL来实现,即语言编译器首先将该语言
       编译成微软中间语言,再在相应平台下编译出本地代码。这一切都是在CLR的规范下进行的。

.NetCOM的关系是什么?.Net是否意味着COM的终结?
    COM定义了组件对象间通信的二进制标准,.Net通过组件内置的类型系统提供了类似的机制,它为此提供
    了另一个途经。
.Net并不意味着COM的终结,但必将大大减少开发人员对COM的依赖。.Net 支持COM
    和
.Net组件之间的互操作性,实际上可通过Runtime Callable Wrapper(RCW)来实现在.Net中获取COM
    件,通过
COM Callable WrapperCCW)来实现在COM中获取.Net组件。

七..Net中间语言(IL)是什么?它在.Net平台中起什么作用?开发人员可以用中间语言(IL)编程吗? 
   .Net中的中间语言是指可以在普通语言运行时规范下,.执行时通过即时(Just In Time)编译器转化为本
   地代码的,与
CPU独立的一族指令集合。它在.Net平台中是实现语言互操作的一个核心环节,所有.Net
   台的语言都要先被编译成中间语言
(IL)。程序员也可以直接利用中间语言(IL)来编程,但不推荐那样
   做,中间语言对理解
.Net对象某些行为和程序的调试很有帮助

八 ..Net中的自动垃圾收集是什么?它给.Net平台下的编程带来什么变化? 
    .Net垃圾收集器负责整个.Net运行时受管代码的内存分配与释放任务。它通过一定的优化算法来选择收
    集的对象和时间。程序员只有在释放大量受管资源时可以进行立即强制垃圾收集,在释放非受管资源时
    采用终止化(
Finalize)操作来处理,需要在程序运行中释放的应该实现Dispose()方法,并明确调用。
    其它时间将资源的回收交由
.Net垃圾收集起来做。

九..Net的受管(Managed)代码与非受管(Unmanaged)代码指什么?他们的编码有什么区别? 
    .Net的受管代码(Managed Code)是指符合普通语言运行时(Common Language Runtime)规范,在内存中受
    运行时代码代理进行内存管理,线程管理,远程管理,代码强制安全类型的代码。非受管代码指对内
   存,文件,数据库等非受管资源进行操作的代码,他们通常不受运行时代码代理管理,是不安全的。对受
   管代码的编程只需专注于编程的逻辑,对于内存等资源的管理交由普通语言运行时
(Common Language 
   Runtime)
来负责,而对非受管代码的编程,则要开发人员精心负责各种非受管资源的分配和回收工作。