.net,是希望获得更好的安全性,以及更加容易使用。
.net,是为了获得更好的市场占有率以及彻底打败SUN.
.net,是一个大手笔,很了不起,就像美国的反恐战争,虽然很困难,但是还是孜孜不倦。
.net,是为了获得更好的市场占有率以及彻底打败SUN.
.net,是一个大手笔,很了不起,就像美国的反恐战争,虽然很困难,但是还是孜孜不倦。
解决方案 »
- 怎样实现一并发送stribg和byte
- jquery+json动态加载select的option,并选中默认项。
- 修改AssemblyInfo.cs中的AssemblyDescription
- 自定义控件,添加选择文件的属性功能
- c#如何获取格林尼治标准时间?返回的是毫秒单位时间
- string 得一个小程序
- 如何用代码实现新建Excel文件和新建xls文件中的表?
- 一个关于checkbox的问题!!!希望高手来解决
- WPF 加载顺序问题及解决
- 象作一个定时关机的程序,大家有没有做好的程序参考?
- 高分奉送!如何在C#中重用密钥对!
- 请问哪里有 together for vs.net的教材和演练例子?
2使软件布署更容易:
(1)解决了版本冲突问题(DLL问题)
.net加入了元数据和反射的技术.使软件不再需要注册,所有的资源都被子封装到装配件内,.net利用在装配件的元数据来确保程序的完整性
(2)替换旧组件时,不需再停止整个应用服务程序. .net的CLR提供了shadow copy功能,它能防止诸如DLL和EXE这样的PE文件被锁,这样就可以不关闭应用程序修改组件,.net会探测到伤何修改,自动加载被修改的新组件,并且用它处理当前未执行的请求,而且会继续保持原版本直到所有动态请求都已执行完毕.
3.多平台和跨平台:
多平台是指用.net frame work编写的代码可以在各种Windows系统上运行,如,95/98/98se/nt/2000/xp,甚至在预装了Windows Ce的设备上运行.支持将来源4位Windows操作系统,是不是很激动,现在的代码不用任何改动就可以在将来64位Windows系统上运行.
对于跨平台,根据近来的好多报道, 我们已看的越来越清晰了.
4.无用单元收集机制
它是CLR的一部分,系统对没有引用和使用的对象进行释放,清除应用程序的内存泄露.
5.一种新的语言C#(C sharp)
它是一种简捷,高效,优雅,真正面象对象,集合现今几门流行语言的众多优点而设计的,它将是微软在.net平台上大力推广的语言,
================================================================
在新闻组和邮件列表里有大量关于一个.Net程序的设计编译(design-time or
run-time)和运行原理 (CPU-specific binary or pseudo-code)的疑问。 这里是一个简单的回答:当你编译一个C#应用程序或任何一种CLS(Commmon
Language Specification)兼容的语言时,它将首先被编译成一种称为IL
(Intermediate Language)的伪代码(pseudo-code)。在这个应用程序第一次
被运行的时候,这种IL代码将被编译成机器代码,用于执行。也就是说从源代码
到得到运行结果,进行了两次编译。事实上,只有那些被真正使用的函数代码
才会被进行第二次编译。下面揭示开发过程中被隐藏起来的细节: 1) 你用C#开发一些程序
2) 用C#编译器或CLS兼容的编译器编译成EXE
3) 编译器将生成的IL代码和附加信息(manifest)放入拥有一个标准PE头的Win32
可执行文件的只读部分。
4) 编译器在创建这个可执行文件时导入(import)一个名为_CorExeMain的函数。
这个函数是.NET EE(execution engine)--.NET运行期引擎的入口函数。
5) 当执行这个Win32可执行文件时,因为其主要是依赖于DLL的PE文件,操作系
统将会调用位于MSCorEE.DLL中的_CorExeMain函数。
6) 操作系统通过PE文件里的进入点,调用MSCorEE.DLL。并能保证在Windows里
可以有很多程序同时运行。
7) 因为操作系统不能执行.NET IL代码,EXE里的进入点只是简单的中介,它将
指示操作系统调用_CorExeMain函数。
8) 随后_CorExeMain函数开始解释位于PE文件中的IL代码。
9) 因为IL是不能被直接执行的, .NET EE使用称为JITter (Just In Time compiler)
的即时编译器将IL代码编译成本地CPU机器代码用于执行。这一即时编译过程
只在第一次执行的时候进行。