《修炼之道:.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 ...
随机推荐
- springboot线程池任务调度类 -- ThreadPoolTaskScheduler介绍
springboot中有一个bean,ThreadPoolTaskScheduler,可以很方便的对重复执行的任务进行调度管理:相比于通过java自带的周期性任务线程池ScheduleThreadPo ...
- hadoop 二次排序的一些思考
先说一下mr的二次排序需求: 假如文件有两列分别为name.score,需求是先按照name排序,name相同按照score排序 数据如下: jx 20 gj 30 jx 10 gj 15 输出结果要 ...
- [python]关于函数传入参数
在传入参数时有两个特殊参数,*args,**kwargs,功能如下: def foo(*args, **kwargs): print 'args = ', args print 'kwargs = ' ...
- VUE系列一:VUE入门:搭建脚手架CLI(新建自己的一个VUE项目)
一.VUE脚手架介绍 官方说明:Vue 提供了一个官方的 CLI,为单页面应用快速搭建 (SPA) 繁杂的脚手架.它为现代前端工作流提供了 batteries-included 的构建设置.只需要几分 ...
- azkaban工作流调度器及相关工具对比
本文转载自:工作流调度器azkaban,主要用于架构选型,安装请参考:Azkaban安装与简介,azkaban的简单使用 为什么需要工作流调度系统 一个完整的数据分析系统通常都是由大量任务单元组成: ...
- Django url
urlpatterns = [ url(正则表达式, views视图函数,参数,别名),] 参数说明: 一个正则表达式字符串 一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符 ...
- HTTP和HTTPS协议,看一篇就够了
https://blog.csdn.net/xiaoming100001/article/details/81109617 因为http请求是无状态的,所以需要三次握手.四次挥手来确定状态. 大纲 这 ...
- 本地jar包添加至Maven仓库
Maven命令将本地的jar包方放到maven仓库中 //自定义本地的jar包在pom文件的参数 <dependency> <groupId>com.eee</group ...
- 【源】ensp 绑定本地网卡与仿真设备进行通信 场景下 仿真设备ping 不通 本机IP 问题
环境:Win7, ensp 1.2.00.500 问题现象:本机可以ping 通 仿真设备的接口IP,但是在仿真设备上 ping不通 本机接口ip. 问题处理:把本机win7系统只带的防火墙关闭后,在 ...
- thinkphp 5 _initialize 使用问题
如果继承的是common的话.控制器的_initialize要先继承父类的_initialize parent::_initialize();