当前位置: 首页 > 编程笔记 >

.NET Framework中CLR(公共语言运行时)的作用是什么?

洪飞驰
2023-03-14
本文向大家介绍.NET Framework中CLR(公共语言运行时)的作用是什么?,包括了.NET Framework中CLR(公共语言运行时)的作用是什么?的使用技巧和注意事项,需要的朋友参考一下

CLR(公共语言运行时)是.NET Framework的基本组件。它提供了一种在目标计算机上运行.NET应用程序的环境。CLR为所有.NET语言编译器提供了将源代码转换为称为ILMSILCIL的通用语言的环境。

CLR提供多种服务来执行流程,例如内存管理服务和安全服务。CLR执行多个任务来管理.NET应用程序的执行。CLR的以下职责如下:

  1. 自动内存管理

  2. 代码访问安全

  3. 垃圾收集

  4. JIT编译

1)自动内存管理

CLR调用.NET框架的各种预定义函数来分配和取消分配.NET对象的内存。因此,开发人员无需编写代码即可显式分配和取消分配内存。

2)代码访问安全

CLR允许访问代码以仅执行其具有权限的那些任务。它还使用.NET应用程序的身份验证和配置文件检查用户的权限。

3)垃圾收集

GC用于防止内存泄漏或孔洞。CLR的垃圾收集器会自动确定释放内存的最佳时间,该内存将分配给对象以执行。

4)JIT编译

JIT代表准时制。它也是公共语言运行时(CLR)的重要组成部分,JIT编译器将MSIL代码转换为目标机器代码以执行。


 类似资料:
  • 本文向大家介绍C#.NET中的公共语言运行时(CLR),包括了C#.NET中的公共语言运行时(CLR)的使用技巧和注意事项,需要的朋友参考一下 公共语言运行库(CLR)管理.NET程序的执行。即时编译器将编译后的代码转换为机器指令。这就是计算机执行的操作。 CLR提供的服务包括内存管理,异常处理,类型安全性等。 让我们看看C#中的公共语言运行时(CLR)的功能: 组件 使用CLR可以轻松处理其他语

  • Java 对字段具有不同的访问级别: 由于封装的概念,我们总是尝试使用<code>private</code>修饰符,以及所需访问级别的getter和setter。这个答案显示了它的各种优点。既然getter和setter很酷,我们应该在什么时候选择<code>public/protected/default对象字段 到<代码>私有对象字段 澄清:我完全理解为什么以及什么是getter、sette

  • 应用程序使用identity server 4和entity framework core 2.0.3。 它已通过VSTS使用CI/CD部署在Azure web app中 它使用Azure SQL Server。 问题 application insights通知我发生了一个异常,导致用户无法登录,我最终通过重新启动azure Web-App解决了这个问题。

  • 问题内容: 在Swift 2.2中阅读Darwin库时,我发现了以下代码。 第二行中的“ @_silgen_name”是什么? 我从这里找到了以下信息,但是我想要更多详细信息,例如Apple Developer Library。 如果只是要从C调用的一组特定的Swift函数,则可以使用@_silgen_name属性覆盖改写的名称,和/或使它们成为@convention(c)以使用C调用约定。 问题

  • 问题内容: 我试图了解该方法的作用。 该文档说,它“返回对象的运行时类”。这种解释并不能帮助我理解该术语。 是否有人简单地描述了什么是“运行时类”,它是什么? 问题答案: 只需将其理解为“具有该对象类型的所有元数据的对象”即可。在该对象中,您可以找到在类,字段,类型层次结构等中声明的方法。该信息通常由使用反射来检查对象/类型或运行方法的代码使用,而无需使用在对它们进行编码时定义和编译的类。 可以强

  • 我有一个具有线程池的主类,许多其他类使用它来对数据库执行操作。我目前有一个getter方法来获取池,它工作正常,但似乎有点笨拙。 在什么情况下使用公共字段代替getter/setter方法是可以接受的?