8.对于.NET的初步理解和介绍

  很久没写博客了,最近心情比较low,不知道为何。很流行的一个问题叫作:若是你明天就挂了,那么你最后悔的事情将会是什么。我想了两个月,答案是不知道,无所谓。这样很差,那这个问题先放一边吧,咱们开始这一篇随笔。数据库

  在学习计划中也说过,C#用四本书学习——C#编程入门,高级编程,CLR via C#,Pro C# 5.0 and the .NET 4.5 Framework。目前看的是第一本,事实上之前看过这一本,可是在有了必定的编程经验后回头重看,观感就彻底不同了。下面是第一章的学习笔记。编程

  1..NET Framework是Microsoft为开发应用程序建立的平台。缓存

  2.能够运行在各个操做系统:Windows、Linux、Mac OS等。安全

  3.可使用它建立多种应用程序:Windows应用、Web应用、Web服务等。学习

  4.可使用它建立多平台应用。spa

  5.能够用于多种语言:C#、VB、C++、JScript等。操作系统

  6..NET平台主要包含一个代码库,库按照模块划分,经过OOP的方式使用。调试

  7.类型是数据的一种表达方式,基础类型保证了跨语言交互。code

  8.通用类型系统-Common Type System-CTS,指的就是6中的代码库。ip

  9..NET平台同时包含公共语言运行库,Common Language Runtime CLR,管理开发的全部应用程序的执行。

  10.使用.NET编写代码就是使用它的大码裤编写代码。

  11.执行C#代码,必须把他们转换为目标操做系统理解的语言-本机代码-native code。

  12.11中的转换成为编译代码,由编译器执行。.NET Framework下包括两个阶段。

  13.编译使用.NET Framework库的代码,包括两个阶段:第一,由IDE编译为通用中间语言-Common Itermediate Language-CIL代码;第二,JIT(Just-In-Time)编译器将CIL编译为专用于OS和目标机器结构的本机代码,CIL代码尽在须要时才被JIT编译器编译为本机代码。

  14.CIL代码独立于计算机、操做系统和CPU-平台无关;JIT是跟操做系统和CPU有关的。

  15.Microsoft Intermediate Language-MSIL或IL等效视为CIL。

  16.所建立的CIL代码存储在一个程序集中,程序集包括可执行的应用程序*.exe文件和应用程序使用的库*.dll;同时包括元信息和可选资源。

  17.元信息容许程序集彻底自描述,也就是说不须要其余信息就可使用程序集(系统注册表什么的)。

  18.全局程序集缓存-Global Assembly Cache-GAC,可重用代码存放的地方,供全部应用程序访问。

  19.代码编译为CIL,再被JIT编译为native code后,CLR会管理正在执行的用.NET Framework编写的代码。

  20.执行代码的阶段称为运行时,runtime。

  21.CLR管理应用程序的方式是:管理内存,处理安全性,跨语言调试等等。

  22.C#只能编写在托管环境下运行的代码,C++能够编写非托管类型的应用程序。

  23.CLR的托管功能可使.NET本身与操做系统进行交互。

  24.垃圾回收Garbage Collection是托管代码最重要的功能,自动释放应用程序中再也不使用的内存,回收内存的时间不定。

  25.总流程大体为,.NET兼容的语言进行编程,编译为CIL存储在程序集,执行是JIT编译器编译为本机代码,Runtime阶段在托管的CLR环境运行本机代码。

  26.一个应用程序的代码位于多个源代码文件中,编译到一个程序集,这个过程称为连接Linking,这是25中第一步到第二步里能够发生的事。

  27.C#是一种类型安全的语言:类型之间的转换有严格的规则。

  28.ASP.NET-Active Server Pages.NET-.NET下能动态生成Web内容的系统。

  29.Active Data Objects.NET-ADO.NET数据库访问模块。

  30.C#的LINQ-Language Integrated Query。

  总的来讲,上面记录的东西都是我理解的内容,目前里面类型安全这个地方可能要在看看书。那么.NET 包括CTS和CLR,建立.NET应用程序包括四个步骤,见第25条,其他再说。

相关文章
相关标签/搜索