C#系列学习笔记1:.Net和JIT

.Net框架是一个跨语言平台,由CLR和FCL组成,其中JIT负责将MSIL编译为机器码。CLR确保类型安全,JIT在运行时编译并优化代码,提高性能。首次调用方法时进行JIT编译,后续调用直接使用缓存的机器码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C#系列学习笔记1:.Net和JIT

.Net

.NET是跨语言的一个平台,核心就是.NET Framwork,是.NET程序开发和运行的环境。语言可以是C#,f#,j#,VB.net等等。c#是运行在.Net平台下的一种面向对象的高级编程语言。

  1. .Net框架的组成分为两部分:
  • CLR:公共语言运行时(Common Language Runtime),提供内在管理,代码安全性检测等功能。
  • FCL:.NET框架类库(.NET Framework Class Library),提供大量应用类库,类库中有很多线程的资源可使用(比如:类,方法,属性),提高开发效率。
  1. CLR的结构:
  • CLS:公共语言规范,获取各种语言转换成统一的语法规范,是.Net跨语言开发的基础。
  • CTS:通用类型系统,将各种语言中的数据类型转换成统一的类型
  • JIT:实时编译器(即时编译器)用于将转换之后的语言编译为二进制语言,交给CPU执行。
    CLR一个很重要的特性就是Type安全。CLR在任何时候都知道某个对象的类型。你可以通过GetType方法获得,由于该方法不是虚函数,因此不能被覆盖,也就是说返回的值是永远真实的。
  1. .Net运行的机制流程
    各种语言(c#,F#,j#等对应的源程序)-> 经过CLS,CTS第一次编译 -> 统一规范语言(中间语言)MSIL(.EXE,.DLL) -> JIT第二次编译 -> 二进制语言 -> 运行在CPU中

  2. .Net的基础类库BCL
    当通过VS创建一个项目后,这个项目就已经引用好了通过.NET下的语言编写好的一些类库。比如ConSole类,System.IO类,这些都是微软帮你写好的,不用你自己去编写,它帮你编写了一个面向.NET的开发语言中使用的基本的功能。这部分类,我们称之为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值