《修炼之道:.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 ...
随机推荐
- 分布式 基本理论 CAP 2
关于P P, 即 Partition字面意思是网络分区,其实 包括了 各种网络问题, 我们要把它理解 一个 广义的 分区问题. P 涉及到了 时间, 这么说吧, 出现了分区, 那就是节点之间 “长久的 ...
- 看Spring注解之IOC记录
首先看源码里有些是java的元注解记录的有如下几个: @Inherited注释:指明被注解的类会自动继承.更具体地说,如果定义注解时使用了 @Inherited 标记,然后用定义的注解来标注另一个父类 ...
- 16Linxu_Squid_iSCSI
使用Squid部署代理缓存服务 yum install squid 标准正向代理: 透明正向代理 反向代理 ACL访问控制 使用iSCSI服务部署网络存储 yum install targetd ta ...
- JSFL元件类型判断 转载于 https://blog.csdn.net/linking530/article/details/8364600
//获取舞台上第一层第一帧上的全部元件 var els = fl.getDocumentDOM().getTimeline().layers[0].frames[0].elements; //遍历元件 ...
- chrome浏览器 新建 标签 页面 跳转到主页(或跳转到谷歌)
我的浏览器是跳转到自己设置的主页.我在贴吧看到的以下方式,然后就可以了: 地址栏输入 chrome://flags 搜索 Enable doodles on the local NTP 这一项改为di ...
- JAVA_maven 配置
前人种树: https://www.cnblogs.com/supiaopiao/p/7276805.html?utm_source=itdadao&utm_medium=referral
- Java中使用MongoDB
一.为MongoDB设置用户名和密码 MongoDB中验证用户和密码的条件: 1. 服务器启动的时候打开授权认证,即修改MongoDB的配置文件mongodb.conf,增auth = true # ...
- 多元高斯分布(The Multivariate normal distribution)
在数据建模时,经常会用到多元高斯分布模型,下面就这个模型的公式并结合它的几何意义,来做一个直观上的讲解. 1, 标准高斯函数 高斯函数标准型: $f(x) = \frac{1}{\sqrt{2π}}e ...
- 修改jupyter notebook主题、字体和启动路径
目录 1.安装主题 2.切换 3.字体 4.启动路径 1.安装主题 window在cmd中输入 pip install --upgrade jupyterthemes 完成后输入查看 jt -l 就提 ...
- Python-cookie,session
前言: 其实cookie这个词对于我们并不陌生,经常就听见说网页加载慢了,清理一下浏览器的缓存和cookie,cookie就是一个特殊数据验证类型,一般存储在客户端的浏览器上面,比如我们登录某宝后,下 ...