《修炼之道:.NET开发要点精讲》读书笔记(一)
CLR 公共语言运行库
没有CLR的存在,就不能讲该中间件转换成对应操作系统中的机器指令。
程序集是非完全编译的产物,它兼备了源代码和本地代码的特性,是一种介于源代码和本地代码之间的独立存在的一种数据结构,它同时具有可读性和可执行性。
程序集组成:IL、元数据、清单、资源等。
程序集特征:语言独立、二级制兼容、重用性、部署方便。
.NET程序集并不是最终可以运行在操作系统中的机器指令,它只是介于源代码和机器指令之间的一个中间件,没有CLR的存在,就不能将该中间件转换成对应操作系统中的机器指令。
可读性:对于开发者来讲,可以从程序集中读取出类似元数据、IL代码或者资源等信息。
可执行性:对于最终用户,程序集是可以在CLR中运行的。
一些编程约定:
一个线程可以调用多个方法,而一个方法又可以被多个线程调用。
哪个线程调用了方法,哪个线程就叫做这个方法的调用线程,方法在哪个线程中运行,哪个线程就是该方法的当前线程。
调用指我们调用系统的方法,回调指系统调用我们写的方法。
.NET中的回调主要是通过委托来实现的。
两种可能引起非线程安全的情况:
①两个线程访问一个对象,前一个操作还未结束,后一个操作就开始了;②多个线程同事访问一个对象。
托管资源(如内存)由CLR管理,非托管资源指对象使用到的一些托管环境之外(比如操作系统)的资源,.NET中对象使用到的非托管资源主要有IO流、数据库连接、Socket连接、窗口句柄等各种直接与操作系统相关的资源。
框架算是不完整的应用程序,类库多半指能够提供一些具体功能的类集合,它包含的内容和功能一般比框架更简单。
JavaScript基于对象。
使用interface关键字定义的接口类型,它代表编程过程中的一种“协议”,是代码中调用方和被调用方必须遵守的契约,如果一方不遵守,那么调用就不会成功:
1)调用方必须存在一个接口引用;2)被调用方必须实现该接口。
数据类型:
值类型赋值就是一种浅复制。
对象进行浅复制时,只将对象的直接成员一一拷贝,当对象包含有引用类型成员时,源对象与副本之间有关联;
对象进行深复制时,会将对象的所有成员(包括直接成员与间接成员)依次进行拷贝,不管对象是否包含引用类型成员,源对象与副本都无任何关联。
string类型是一个特殊引用类型,它的判等不同于其他引用类型去比较对象引用是否指向堆中同一实例,而是和值类型判等一直,比较对象内容是否一一相等。除此之外,string类型还是不可改变类型,对string对象的任何操作均不能改变该对象。
结构类型不支持继承,可以实现接口。
构造函数用于创建类的实例,并对实例进行初始化操作。一般情况下,构造函数是实例构造函数。
派生类中只有继承的虚方法或抽象方法可以被重写,并且静态方法不能被重写。
sealed(密封)与abstract(抽象类)互斥。
当类中某些成员不需要创建实例实现,则可将其声明为静态类成员。
重载是方法的名称相同,函数签名不同,进行多次重载以适应不同的需要;
重写(override)是进行基类中函数的扩展或改写,其签名必须与被重写函数保持一致。
this 引用类的当前实例;
base 派生类访问基类成员。
《修炼之道:.NET开发要点精讲》读书笔记(一)的更多相关文章
- 《html5 从入门到精通》读书笔记(一)
今天看了<html5 从入门到精通>这本书,感觉阅读下来很舒心,不像阅读其他书籍很揪心.html增加的知识点,我觉得非常有价值,看完几章记录了一些内容,不但能巩固,也为下次遗忘知识点做好准 ...
- HTML5从入门到精通(明日科技) 中文pdf扫描版
HTML5从入门到精通(明日科技) 中文pdf扫描版
- HTML5从入门到精通(千锋教育)免费电子版+PDF下载
本书是HTML5初学者极好的入门教材之一,内容通俗易懂.由浅入深.循序渐进.本书内容覆盖全面.讲解详细,其中包括标签语义化.标签使用规范.选择器类型.盒模型.标签分类.样式重置.CSS优化.Photo ...
- Unity Shader入门精要读书笔记(一)序章
本系列的博文是笔者读<Unity Shader入门精要>的读书笔记,这本书的章节框架是: 第一章:着手准备. 第二章:GPU流水线. 第三章:Shader基本语法. 第四章:Shader数 ...
- Oracle从入门到精通----学习笔记
书名:<Oracle从入门到精通:视频实战版>秦靖.刘存勇等编著 第4章 SQL基础 1.SQL语言分类 数据定义语言 --- DDL,Data Definition Language 数 ...
- MySQL数据库应用 从入门到精通 学习笔记
以下内容是学习<MySQL数据库应用 从入门到精通>过程中总结的一些内容提要,供以后自己复现使用. 一:数据库查看所有数据库: SHOW DATABASES创建数据库: CREATE DA ...
- Unity Shader入门精要读书笔记(二)UnityShader概述
第三章<UnityShader概述>的读书笔记: 1.Unity Shader模板提供了几种选择: 标准光照模型(新添加的基于物理的渲染方法) 不含光照的基本的顶点.片元着色器 屏幕后处理 ...
- 《html5 从入门到精通》读书笔记(二)
接着上面继续记录笔记,这次要记的知识点比较多...记录下我认为比较重要的东西. 一.表单属性 1.autocomplete属性 该属性规定form或input域应该拥有自动完成功能. <form ...
- 《html5 从入门到精通》读书笔记(三)
二.标签详解 标签 描述 4 5 <form> 定义表单. 4 5 <h1> to <h6> 定义标题1到标题6. 4 5 <head> 定义关于文档的 ...
- 《HTML5 CANVAS基础教程》读书笔记
一.HTML5简介 1.HTML5新特性 1)结构元素:section,header,hgroup,footer,nav,article,aside, 2)内容元素:figure,figcaption ...
随机推荐
- visual studio 2013 几个测试工具(Nunit 3、xUnit)
一.Nunit 3 1.在解决方案里添加一个类库——引用——右键(如下图)) 3.搜索nunit 并安装(如图) 3.注意引入命名空间并给测试类和测试方法添加特性(如图) 4.如果测试通过则为绿色(如 ...
- Tesseract--主要API功能介绍
tesseract本身代码是由c/c++混编而成的,其中有用的简单的接口函数几乎都是在baseapi.h中. 从其处理过程中,不难得出:它还需要有一个image处理的类,及相关的方法:这样子, ...
- TXMLDocument 创建空值节点不要缩写
TXMLDocument 创建空值节点不要缩写 xmldoc.CreateNode('input'); 然后访问 xmldoc.DocumentElement.XML <input/> 节 ...
- 新装 Win7 系统装完驱动精灵,一打开到检测界面就卡死——原因与解决方案
1.现象: 重装系统后,鼠标反应慢,且不能上网.因此装了个驱动精灵,准备更新下驱动,但驱动精灵一打开到检测界面就卡死(换驱动人生.鲁大师也一样). 2.原因: Win7 系统 iso 中自带的驱动程序 ...
- git 琐碎
git symbolic-ref --short HEAD 来获取对应 HEAD 的分支名 ➜ mis-gulf git:(mis-lk) ✗ git symbolic-ref --short HEA ...
- python学习Day9 内存管理
复习 :文件处理 1. 操作文件的三步骤:-- 打开文件:此时该文件在硬盘的空间被操作系统持有 | 文件对象被应用程序持用 -- 操作文件:读写操作 -- 释放文件:释放操作系统对文件在硬盘间的持有 ...
- LVS负载均衡
1.LVS负载均衡 实现LVS负载均衡转发方式有三种,分别为NAT.DR.TUN模式,LVS均衡算法包括:RR(round-robin).LC(least_connection).W(weight)R ...
- neo4j配置(转)
我的neo4j配置 # 修改第9行,去掉#,修改数据库名 dbms.active_database=wkq_graph.db # 修改第12行,去掉#.修改路径,改成绝对路径 dbms.directo ...
- Dapper查询返回Datatable
dapper封装的扩展方法中,没有直接返回datatable的方法,项目中有些时候需要用到这样的返回格式,而为了项目数据框架的统一性, 不好直接用其他框架,如果直接将查询出来的泛型集合转datatab ...
- 基于django的博客系统
这是前段代码 达到的效果并不是太好,但我还是要发出来,有更好的建议可以和我讨论 后台还算可以 添加了分类和文章两个功能,还在优化,敬请期待....