【读书笔记】C#高级编程(一).NET体系结构
写在前面:从业两年来,一直停留在会用的阶段,而没有去仔细思考过为什么这么用,之前也大致扫过《c#高级编程》一书,这次想借一袭脑海中的冲动,再次好好仔细过过这本书,夯实基础,温故知新。
一、NET体系结构
1.1 c#与.NET的关系
C#本质来言是一门语言,.NET是一个技术平台。
1.2 公共语言库
.NET FrameWork的核心是运行执行环境也就是公共语言运行库(CLR)。在.NET中,编译分为两个阶段:(1)把源代码编译成Microsoft中间语言(IL);(2)CLR把IL编译成平台专用的代码
1.3 中间语言
中间语言的主要特征:面向对象和使用接口、值类型和引用类型之间的显著差异、强数据类型化、使用异常来处理错误、使用特性(attribute);
面向对象和接口
值类型和引用类型:值类型:变量直接存储其数据;而引用类型,变量仅存储地址,对应的数据在该地址中;
强数据类型化:所有变量都清晰的属于某一个特殊的数据类型。通用数据系统(CTS):
垃圾回收:.NET平台有两种技术来释放进程向系统动态请求的内存。1)完全以手工方式是应用程序代码完成这些工作(dispose方法)2)让对象维护引用计数
1.4 程序集
程序集(assembly)是包含编译好的、面向.NET Framework的代码的逻辑单元。两种类型:私有程序集和共享程序集。
私有程序集:一般附带在某个软件上,只能用在该软件。
共享程序集:其他应用程序也可以使用的公共库。存在名称冲突和程序集与某些客户端代码不兼容两种风险。名称冲突通过私钥加密法给共享程序集赋一个强名称(strong name)。代码不兼容的问题通过给程序集清单增加版本信息来解决。
1.5 .NET Framework类
1.6 名称空间
【读书笔记】C#高级编程(一).NET体系结构的更多相关文章
- Hadoop学习笔记(7) ——高级编程
Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成 ...
- Java并发编程的艺术读书笔记(2)-并发编程模型
title: Java并发编程的艺术读书笔记(2)-并发编程模型 date: 2017-05-05 23:37:20 tags: ['多线程','并发'] categories: 读书笔记 --- 1 ...
- Java并发编程的艺术读书笔记(1)-并发编程的挑战
title: Java并发编程的艺术读书笔记(1)-并发编程的挑战 date: 2017-05-03 23:28:45 tags: ['多线程','并发'] categories: 读书笔记 --- ...
- 《Essential C++》读书笔记 之 C++编程基础
<Essential C++>读书笔记 之 C++编程基础 2014-07-03 1.1 如何撰写C++程序 头文件 命名空间 1.2 对象的定义与初始化 1.3 撰写表达式 运算符的优先 ...
- 读书笔记 - js高级程序设计 - 第十五章 使用Canvas绘图
读书笔记 - js高级程序设计 - 第十三章 事件 canvas 具备绘图能力的2D上下文 及文本API 很多浏览器对WebGL的3D上下文支持还不够好 有时候即使浏览器支持,操作系统如果缺缺 ...
- Node.js高级编程读书笔记 - 3 网络编程
Outline 3.4 构建TCP服务器 3.5 构建HTTP服务器 3.6 构建TCP客户端 3.7 创建HTTP请求 3.8 使用UDP 3.9 用TLS/SSL保证服务器的安全性 3.10 用H ...
- 读书笔记——Windows核心编程(13)Windows内存体系结构
对于32位进程(0x0000 0000~0xFFFF FFFF),有4GB的地址空间. 每个进程都有自己专有的地址空间,当进程的各个线程运行时,它们只能访问属于该进程的内存. 这4GB其实是虚拟地址空 ...
- 【读书笔记】iOS-iCloud编程
一,苹果云服务-iCloud. 苹果公司斥资10亿美元在北卡罗来纳州简历数所中心-iDataCenter,该数据中心面积为50万平方英尺,也是美国最大规模的数据中心之一. 二,配置iCloud. 1, ...
- 读书笔记 |Google C++编程风格指南
Google C++编程风格指南 ## 0. 背景 每一个C++程序员都知道,C++具有很多强大的语言特性,但这种强大不可避免的导致它的复杂,这种复杂会使得代码更易于出现bug.难于阅读和维护. 本指 ...
- 读书笔记-JavaScript面向对象编程(一)
PDF下载链接: http://pan.baidu.com/s/1eSDSTVW 密码: 75jr 第1章 引言 1.1 回顾历史 1.2 变革之风 1.3 分析现状 1.4 展望未来 1.5 面向对 ...
随机推荐
- 316. Remove Duplicate Letters (accumulate -> count of the difference elements in a vector)
Given a string which contains only lowercase letters, remove duplicate letters so that every letter ...
- PHP选项和运行
PHP运行模式 五大运行模式 1.cgi 通用网关接口 2.fast-cgi cgi升级 3.cli (Command Line Interface) 4.isapi 微软提供的面向Internet服 ...
- JDBC的概念&使用步骤
概念: JDBC(Java DataBase Connectivity)是一种数据库连接技术,能实现Java程序对各种数据库的访问.由一组使用Java语言编写的类和接口(JDBC API)组成,他们位 ...
- Sql server if-else以及switch
--相当于C#中的if-else 根据levle列的值来判断自定义列显示的内容--要求then后面的数据类型必须一致 select * ,头衔=case when [levle]=1 then '菜鸟 ...
- Python之freshman08 Socket
1. Socket介绍 概念 A network socket is an endpoint of a connection across a computer network. Today, mos ...
- varchar和varchar2的区别
varchar是标准sql里面的. varchar2是oracle提供的独有的数据类型. varchar对于汉字占两个字节,对于英文是一个字节,占的内存小,varchar2都是占两个字节. varch ...
- LightOJ - 1140 统计0的数位 数位DP
注意以下几点: 搜索维度非约束条件的都要记录,否则大概率出错,比如_0 st参数传递和_0的互相影响要分辨清楚 num==-1就要返回0而不是1 #include<iostream> #i ...
- apache 2.4 访问权限配置
在apache 2.4里,访问权限配置与2.2不同,如果设置不对,则会报403错误,日志中会报 AH01630: client denied by server configuration. [S ...
- 用淘宝镜像安装electron的方法
在网友那里看到的,命令如下,亲测安装electron 1.7.9 成功,关键是几秒钟就搞定了.今天是 11 Dec 2017. ELECTRON_MIRROR=http://npm.taobao.or ...
- 【研究】Struts2-052漏洞
漏洞描述: CVE-2017-9805 2017年9月5日,Apache Struts官方发布最新的安全公告称,Apache Struts 2.5.x的REST插件存在远程代码执行高危漏洞,漏洞编号为 ...