一:什么是.NET?它包括什么?

.Net是为简化在第三代因特网的高分布式环境下的应用程序开发,基于开放互联网标准和协议之上,实现异质语言和平台高度交互性,而构建的新一代计算和通信平台。

.Net主要包括公共语言运行时(Common Language Runtime)和.Net构架类库。

二: .NET的主要优点有哪些?

.Net的主要优点有跨语言,跨平台,安全,以及对开放互联网标准和协议的支持.

<a>.Net支持多种语言的互操作,即在一种语言下开发的组件,可在另一组件下通过面向对象的继承而得

以重用,目前.Net支持的语言达二十多种。

<b>.Net通过将各语言先编译成中间语言(IL),然后再执行时用即时编译器(Just In Time)将之编译成本

地平台代码来实现异构平台下对象的互操作,目前.Net支持的平台有Windows,Linux和Unix的支持正

在开发中。

<c>.Net通过公共语言运行时(Common Language Runtime)来实现资源对象,类型的安全.

<d>.Net通过对HTTP,XML,SOAP,WSDL等Internet标准的强劲支持提供在异构网络环境下获取远程服务,

连接远程设备,交互远程应用的编程界面.

三: .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.Net,Managed C++,和

Jsript,其他厂商声称正在开发中的支持工具有COBOL,Eiffel,Perl,Smalltalk,Python。

<b>.Net语言的互操作性是指遵循CLR规范的语言在对象继承方面的支持,即用一种语言在.Net平台下开

发的类可在另一语言中重用,这通过一种称作微软中间语言MIL来实现,即语言编译器首先将该语言

编译成微软中间语言,再在相应平台下编译出本地代码。这一切都是在CLR的规范下进行的。

六 .Net与COM的关系是什么?.Net是否意味着COM的终结?

COM定义了组件对象间通信的二进制标准,.Net通过组件内置的类型系统提供了类似的机制,它为此提供

了另一个途经。.Net并不意味着COM的终结,但必将大大减少开发人员对COM的依赖。.Net 支持COM

和.Net组件之间的互操作性,实际上可通过Runtime Callable Wrapper(RCW)来实现在.Net中获取COM组

件,通过COM Callable Wrapper(CCW)来实现在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)来负责,而对非受管代码的编程,则要开发人员精心负责各种非受管资源的分配和回收工作。

.NET的优点(转载)的更多相关文章

  1. 《C#高级编程(第六版)》泛型学习笔记(一):泛型优点和特性 (转载)

    原文出处:http://www.cnblogs.com/xun126/archive/2011/01/13/1933838.html 泛型是CLR 2.0的一个新特性,在CLR 1.0中,要创建一个灵 ...

  2. 转载:用vector保存对象时保存指针的优点, 以及reserve的使用

    #include <vector> #include <stdio.h> class A { public: A() { printf("A()/n"); ...

  3. Atitit 智能云网络摄像机的前世今生与历史 优点  密码默认888888

    Atitit 智能云网络摄像机的前世今生与历史 优点  密码默认888888 用户名admin  密码aaaaaa 网络摄像机是一种结合传统摄像机与网络技术所产生的新一代摄像机,它可以将影像通过网络传 ...

  4. 转载文章——从HelloWorld学习操作系统

    转载地址:https://my.oschina.net/hosee/blog/673628?p=%7b%7bcurrentPage+1%7d%7d 本文就将系统性的串联起那些知识点,方便复习和回顾.本 ...

  5. 转载:Spring+EhCache缓存实例

    转载来自:http://www.cnblogs.com/mxmbk/articles/5162813.html 一.ehcahe的介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速.精干 ...

  6. php 时间戳与日期的转换(转载)

    UNIX时间戳和格式化日期是我们常打交道的两个时间表示形式. a:Unix时间戳存储.处理方便,但是不直观 b:格式化日期直观,但是处理起来不如Unix时间戳那么自如 [关于两者的互相转换] 日  期 ...

  7. 转载请注明出处: https://github.com/qiu-deqing/FE-interview

    转载请注明出处: https://github.com/qiu-deqing/FE-interview Table of Contents generated with DocToc FE-inter ...

  8. C#线程入门---转载

    C#中的线程(一)入门 文章系参考转载,英文原文网址请参考:http://www.albahari.com/threading/ 作者 Joseph Albahari,  翻译 Swanky Wu 中 ...

  9. 99%的人都理解错了HTTP中GET与POST的区别(转载

    GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己 ...

随机推荐

  1. handy源码阅读(六):tcp类

    首先是tcpconn和tcpserver类: struct TcpConn : public std::enable_shared_from_this<TcpConn>, private ...

  2. 总结PHP缓存技术的多种方法

    这里所说的数据缓存是指数据库查询PHP缓存机制,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件中,以后同样的查询结果就直接从缓 ...

  3. 安装JDK ,提示 错误1316 指定的账户已存在

    基于情况: 安装了一个JDK 后,在文件目录中删除了相关文件,之后再次安装,提示  错误1316 指定的账户已存在 造成原因:安装JDK,相当于安装了一个软件,要使用系统的软件卸载功能卸载,不能只删除 ...

  4. SpringCloud 教程 (三)高可用的服务注册中心

    一.准备工作 Eureka can be made even more resilient and available by running multiple instances and asking ...

  5. sed的一些应用

    1. sed 使用变量进行替换,注意使用参数 r 时,需要放在参数 i 的前面 下面这个例子是用2.txt中的版本号替换docker-compose.yml中的版本号,其中变量UPGRADE_NAME ...

  6. Oracle诊断:使用USER_SEGMENTS分配给表的物理空间大小

    假设我的SCHEMA的名字是abc, 需要知道在这个SCHEMA下的数据容量,可以通过下面的方式. 1.登录SCHEMA abc 2.使用USER_SEGMENTS查看SCHEMA abc数据容量 S ...

  7. weight(搜索对象的选取)

    题目链接: 就是大概这么个东西 根据题意,我们可以清楚的知道:这个题我不会,这个题需要先将2n个数进行排序 这样每对于一个小的前(后)缀和总会在队列最前或队列最后 设这个数为k 那么判断总的Sum(n ...

  8. 永久关闭Linux的防火墙

    重启网络服务,加载网卡配置文件systemctl restart network 清空防火墙规则iptables -F 关闭selinux防火墙vi /etc/selinux/config修改如下配置 ...

  9. URL里的分号';'一定要编码为%3b!!!!

    http://en.wikipedia.org/wiki/Query_string The series of pairs is separated by the ampersand, '&' ...

  10. 多线程threading初识二--多线程等待

    .join() :子线程等待主线程 下面程序运行流程: 主线程负责启动5个子线程,把每个线程放在threads list里,然后等待所有线程等待完毕后,再执行end_time = time.time( ...