初读  CLR Via C# 有一些 名词需要记忆:

1、CLR: Common Language Runtime (公共语言运行时)

  可有多种编程语言使用的Runtime. 其核心功能是: 内存管理、 程序集加载、 安全性、 异常处理和线程同步等;

2、 Managed Module (托管模块)

  托管模块包括: PE32 或PE32+ 、CLR 头 、 元数据 、 IL代码。

3、PE: Protable Executable (可移植执行体) 。

  PE32:是 标准32位 windows 可移植执行体文件。

  PE32+: 是标准64位 可移植执行体文件

4、DEP: Data Execution Prevention (数据执行保护)

5、ASLR: Address Space Layout Randomization, 地址空间布局随机化

6、Native Code Compilers (本机代码编译器) : 生成的是面向 特定CPU(比如:x86 , x64或ARM)架构的代码

7、 IL(中间)代码: 又称 托管代码(Managed Code).

8、MetaData(元数据 ):  数据表集合, 描述了 (1)源代码中定义的类型和成员 ,(2)源代码中引用的类型和成员。

9、Assembly(程序集)

源代码文件 --经编译器 成---> 托管模块 ;

托管模块 + 资源文件 -----经工具合并成 -----> 程序集;

10、 JIT (just -in-time)

11、JITCompiler : 即时编译器。 职责: 将方法的IL 转换成 本机(native) CPU 指令。

当第一次 执行一个方法时,此方法 要经过 JITCompiler 转换成 Native CPU 指令。

12、 DLL : Dynamic Link Library (动态链接库)

13、 FCL: FrameWork Class Library , FrameWork 类库。

14、CTS: Common Type System,  通用类型库

15、CLS: Common Language Specification ,  公共语言规范。

16、CTE :Compile-Time Error 编译时错误;

17、RTE:Run-Time Error 运行时错误;

18、extern alias : 外部别名

19、命名空间和程序集的关系

  命名空间和程序集不一定相关。  

(1)、同一个命名空间中类型可能在不同程序集中实现。

(2)、同一个程序集也可能包含不同命名空间中的类型。

20、栈帧(stack frame): 代表 当前线程的调用栈中的一个方法调用。

21、类型对象指针:(type object pointer)

22、同步块索引 : (sync block index)

23、疑问: 线程栈、 托管堆、 和  CLR运行时的关系 ?

线程栈 存储的是 局部变量 或 参数的 地址

托管堆中 是 new 创建的对象 ; 每个对象都包括 三部分:类型对象指针、 同步块索引 、 静态字段 以及方法表(方法表包括记录项);

转载于:https://www.cnblogs.com/generalLi/p/6218791.html

CLR via C# 阅读 笔记相关推荐

  1. MCS-51单片机原理与接口技术--阅读笔记(原创)

             MCS-51单片机原理与接口技术--阅读笔记(原创) 由  王宇 原创并发布 : 第1章 单片机概述 MSC-51美国Intel公司 第2章 基本机构 制造工艺为HMOS MSC-5 ...

  2. SMRT测序文献阅读笔记

    SMRT测序文献阅读笔记 生信start_site关注 0.0912020.12.12 10:33:24字数 4,422阅读 56 单分子实时定量测序技术(SMRT) 写这篇笔记是因为可能以后的工作中 ...

  3. 《CLR via C#》笔记:第1部分 CLR基础

    本博客所总结书籍为<CLR via C#(第4版)>清华大学出版社,2021年11月第11次印刷(如果是旧版书籍或者pdf可能会出现书页对不上的情况) 你可以理解为本博客为该书的精简子集, ...

  4. trainer setup_Detectron2源码阅读笔记-(一)Configamp;Trainer

    一.代码结构概览 1.核心部分 configs:储存各种网络的yaml配置文件 datasets:存放数据集的地方 detectron2:运行代码的核心组件 tools:提供了运行代码的入口以及一切可 ...

  5. VoxelNet阅读笔记

    作者:Tom Hardy Date:2020-02-11 来源:VoxelNet阅读笔记

  6. Transformers包tokenizer.encode()方法源码阅读笔记

    Transformers包tokenizer.encode()方法源码阅读笔记_天才小呵呵的博客-CSDN博客_tokenizer.encode

  7. 源码阅读笔记 BiLSTM+CRF做NER任务 流程图

    源码阅读笔记 BiLSTM+CRF做NER任务(二) 源码地址:https://github.com/ZhixiuYe/NER-pytorch 本篇正式进入源码的阅读,按照流程顺序,一一解剖. 一.流 ...

  8. Mina源码阅读笔记(一)-整体解读

    2019独角兽企业重金招聘Python工程师标准>>> 今天的这一节,将从整体上对mina的源代码进行把握,网上已经有好多关于mina源码的阅读笔记,但好多都是列举了一下每个接口或者 ...

  9. “CoreCLR is now Open Source”阅读笔记

    英文原文:CoreCLR is now Open Source 阅读笔记如下: CoreCLR是.NET Core的执行引擎,功能包括GC(Garbage Collection), JIT(将CIL代 ...

最新文章

  1. 30个Oracle语句优化规则详解
  2. python 自然语言处理(三)获取词性
  3. windows8.1如何分盘
  4. 如何为SAP OData消费维护不同的ABAP后端系统
  5. Linux 4.1内核热补丁成功实践
  6. 如何像阿里巴巴一样高效跨企业项目协作
  7. 基于uniapp开发的适用于微信小程序,头条小程序
  8. 副法线和正切是什么?
  9. stm32毕业设计 单片机智能温控风扇
  10. 诺兰模型(百度百科)
  11. 汽车的android怎么使用方法,汽车安卓投屏怎么用 其实投屏方法很简单
  12. 小程序云开发前端显示云存储的图片
  13. C#/VB.NET Excel数据分列
  14. DIY一个测量心率装置
  15. LocalDate 获取英文月份
  16. 找出n以内最大的质数。python
  17. element-ui dialog组件添加可拖拽位置 可拖拽宽高
  18. 1,10-菲啰啉是氧化还原指示剂|双齿配体各类反应
  19. 2022-2028全球及中国食品加工用酶行业研究及十四五规划分析报告
  20. 北京国家计算机四级网络工程师,关于国家计算机四级网络工程师的介绍

热门文章

  1. vue2 watch引用类型 失败原因
  2. jQuery常用的层次选择器
  3. Gradle用户指南(1)-Gradle安装
  4. maven项目和普通项目转换
  5. Microsoft Updater Application Block 1.5.3 服务器端manifest文件设计 [翻译]
  6. MySQL操作权限整理
  7. android 获取键盘回车键事件,设置软键盘回车键显示内容,点击空白处隐藏软键盘
  8. Netcdf对数据进行裁剪
  9. html不支持元素video,Html5中的Video元素使用方法
  10. matlab画线不同颜色_怎样画线框图才有意义?