《修炼之道:.NET开发要点精讲》读书笔记(一)

CLR 公共语言运行库数据库

没有CLR的存在,就不能讲该中间件转换成对应操做系统中的机器指令。编程

程序集是非彻底编译的产物,它兼备了源代码和本地代码的特性,是一种介于源代码和本地代码之间的独立存在的一种数据结构,它同时具备可读性和可执行性。安全

程序集组成:IL、元数据、清单、资源等。数据结构

程序集特征:语言独立、二级制兼容、重用性、部署方便。框架

.NET程序集并非最终能够运行在操做系统中的机器指令,它只是介于源代码和机器指令之间的一个中间件,没有CLR的存在,就不能将该中间件转换成对应操做系统中的机器指令。ide

可读性:对于开发者来说,能够从程序集中读取出相似元数据、IL代码或者资源等信息。函数

可执行性:对于最终用户,程序集是能够在CLR中运行的。this

一些编程约定:操作系统

一个线程能够调用多个方法,而一个方法又能够被多个线程调用。线程

哪一个线程调用了方法,哪一个线程就叫作这个方法的调用线程,方法在哪一个线程中运行,哪一个线程就是该方法的当前线程。

调用指咱们调用系统的方法,回调指系统调用咱们写的方法。

.NET中的回调主要是经过委托来实现的。

两种可能引发非线程安全的状况:

①两个线程访问一个对象,前一个操做还未结束,后一个操做就开始了;②多个线程同事访问一个对象。

托管资源(如内存)由CLR管理,非托管资源指对象使用到的一些托管环境以外(好比操做系统)的资源,.NET中对象使用到的非托管资源主要有IO流、数据库链接、Socket链接、窗口句柄等各类直接与操做系统相关的资源。

框架算是不完整的应用程序,类库多半指可以提供一些具体功能的类集合,它包含的内容和功能通常比框架更简单。

JavaScript基于对象。

使用interface关键字定义的接口类型,它表明编程过程当中的一种“协议”,是代码中调用方和被调用方必须遵照的契约,若是一方不遵照,那么调用就不会成功:

1)调用方必须存在一个接口引用;2)被调用方必须实现该接口。

数据类型:

值类型赋值就是一种浅复制。

对象进行浅复制时,只将对象的直接成员一一拷贝,当对象包含有引用类型成员时,源对象与副本之间有关联;

对象进行深复制时,会将对象的全部成员(包括直接成员与间接成员)依次进行拷贝,无论对象是否包含引用类型成员,源对象与副本都无任何关联。

string类型是一个特殊引用类型,它的判等不一样于其余引用类型去比较对象引用是否指向堆中同一实例,而是和值类型判等一直,比较对象内容是否一一相等。除此以外,string类型仍是不可改变类型,对string对象的任何操做均不能改变该对象。

结构类型不支持继承,能够实现接口。

构造函数用于建立类的实例,并对实例进行初始化操做。通常状况下,构造函数是实例构造函数。

派生类中只有继承的虚方法或抽象方法能够被重写,而且静态方法不能被重写。

sealed(密封)与abstract(抽象类)互斥。

当类中某些成员不须要建立实例实现,则可将其声明为静态类成员。

重载是方法的名称相同,函数签名不一样,进行屡次重载以适应不一样的须要;

重写(override)是进行基类中函数的扩展或改写,其签名必须与被重写函数保持一致。

this 引用类的当前实例;

base 派生类访问基类成员。

相关文章
相关标签/搜索