• 《C#从现象到本质》读书笔记(一)第1章 .NET基础知识


    最近根据博客园大神的推荐,买了本《C#从现象到本质》。做一点读书笔记。

    由于不懂IL和ildasm,winddg,太深奥,理解不了,就牛嚼草一样,先总结第一遍读书,自己总结的知识点了。不知道这样会不会侵权,如果侵权了,请告诉我,我撤销这些。

    第一部分“基础知识”

    第1章 .NET基础知识

    CLR:公共语言运行时

    CTS:公共语言系统

    CLS:公共语言规范

    FCL:框架类库

    BCL:基础类库

    CLI:公共语言基础设施

    DLR:动态语言运行时

    TPL:任务并行库

    JIT:即时编译

    COM:组件对象模型

    GAC:全局程序集缓存

    .NET框架其最主要的两个组成部分是公共语言运行时(CLR)和框架类库(FCL),基础类库(BCL)是框架类库的一个子集。运行于底层的是公共语言运行时CLR,它是公共语言基础设施(CLI)的一个实现。CLR最主要的两个组成部分是CTS(公共语言系统)和CLS(公共语言规范)。

    .NET框架的主要结构

    编程语言转化成机器码,转化的过程分为两种主要的形式,即编译和解释。

    IL语言是一个基于栈的、面向对象的高级语言。

    托管代码是必须在CLR下执行的代码,而非托管代码则不需要CLR的支持就可以运行。

    FCL就是我们用到的所有外部参考,而BCL是其中不需要手动引用的那部分。

    不同的程序集可以共享一个命名空间。

    程序集是一个可以寄宿于CLR中的、拥有版本号的、自解释、可配置的二进制文件,程序集的扩展名为exe或dll。

    CLR是和程序集一起工作的。

    单模块程序集的结构就是它的托管模块加上清单和资源文件。在任何时候,IL代码和元数据都是存在于托管模块中的。

    程序需要资源时才会加载对应的程序集。

    IL中的关键字可以分为三类:指令、特性和操作码。

    程序集的IL和元数据支撑着.NET的运作。IL为各种框架语言建立了一个共同的编译目标,也为接下来的JIT编译做准备。JIT是最终翻译为机器码的编译器,它会做更多的优化,并通过使用不同的编译方式来利用这些优化。

  • 相关阅读:
    Android 架构:Android Jetpack 架构组件的学习和分析
    Android 看源码学 Binder
    Android Okhttp 源码分析(待完成)
    Android Glide 源码分析系列(待完成)
    界面2
    使用spring 4.0 + maven 构建超简单的web项目
    maven中跳过单元测试
    Hibernate+maven+eclipse 实现自动建表
    android开发学习---开发一个简易的短信发送器
    java面试题--实现一个百亿的计算器
  • 原文地址:https://www.cnblogs.com/Lvkang/p/9680883.html
Copyright © 2020-2023  润新知