01-.Net编程机制
.NetFarmwark特点:
多平台:该系统可以在广泛的计算机上运行,包括从服务器、桌面机到PDA和移动电话。
行业标准:该系统使用行业标准的通信协议,比如XML、HTTP、SOAP和WSDL.
安全性:该系统能提供更加安全的执行环境,即使有源可疑的代码存在。

.NetFarmwar组成部分:
编程工具、公共语言运行库(CLR)、基类库(BCL),严格地说.Net框架由两部分组成 CLR和FCL(框架类库),不包括工具。FCL是BCL的超集,还包括WindowsForms、Asp.Net、Linq以及更多命名空间。
CLR包括:内存管理、代码安全验证、代码执行、垃圾收集。

编译成CIL
.net语言的编译器接受源代码文件。并生成名为程序集的输出文件。程序集可以是执行文件或DLL文件。
程序集包含的信息有程序的CIL,程序中使用的类型元数据,对其他程序集引用的元数据。
程序的CIL直到它被调用运行时才会被编译成本机代码。
运行CLR执行下面的步骤:
1.检查程序集的安全特性。
2.在内存中分配空间
3.把程序集中的可执行代码发送给实时编译器,把其中一部编译成本机代码。
当被编译成本机代码后,CLR就会在它运行时管理它,执行并释放无主的内存,检查数组边界
检查参数类型和管理异常的一些任务。这时也就产生了两个概念:托管代码和非托管代码
托管代码:为.Net框架编写的代码并使用CLR管理的称为托管代码
非托管代码:不在CLR管理下运行的代码,如Win32 C/C++ Dll,称为非托管代码。

CLR是.Net框架的核心组件,它在操作系统的顶层并管理程序的执行。
CLI(Common Language Infrastructure,公共语言基础结构)是定义基本类型(整数,浮点数,字符等)的一组标准
,它把所有.Net框架的组件连续成一个内聚的、一致的系统。
CTS(公共类型系统)定义了那些在托管代码中一定会使用的类型的特征,其中包括:
1.CTS定义了一组丰富的内置类型,以及每种类型确定的、详细的特性。
2.Net兼容编程语言提供的类型通常映射到CTS中已定义的内置类型集的某一个特殊子集。
3.CTS最重要 的特征之一是所有类型都继承自公共的基类——Object.
4.更多内容请点击查看。
01-.Net编程机制的更多相关文章
- 【WCF--初入江湖】01 WCF编程概述
01 WCF编程概述 SOA的优点 1.服务独立于平台和工作环境.服务并不关心自己所处的环境,也不关心与之进行通信的服务所处的 环境. 2.服务相互隔离. 3.服务对协议.格式和传输中立. 4. ...
- php hook编程机制
说明 hook,中文翻译为钩子,编程中的钩子类似我们现实中的钩子,需要挂在东西的时候 直接挂载到上面即可.程序中也是,需要运行的代码挂载到上面即可. 具体思想就是:在项目代码中, ...
- 01网络编程(基础知识+OSI七层协议+TCP与UDP)
目录 01 网络编程 一.软件开发架构 1.1 CS架构 1.2 BS架构 二.网络理论前戏 2.1 简介 2.2 常见硬件 三.OSI七层协议(五层) 3.1 七层协议 3.2 五层协议 3.3 知 ...
- obj-c编程01[扩展学习01]:对象消息机制工作原理
obj-c中的类就像C语言中的struct.NSObject类声明一个成员变量isa,因为NSObject类是整个继承树的根,所以每个类中都有一个isa其指向创建的对象.在类结构中有实例变量(成员变量 ...
- Java并发编程实战 01并发编程的Bug源头
摘要 编写正确的并发程序对我来说是一件极其困难的事情,由于知识不足,只知道synchronized这个修饰符进行同步. 本文为学习极客时间:Java并发编程实战 01的总结,文章取图也是来自于该文章 ...
- 数据结构笔记01:编程面试过程中常见的10大算法(java)
以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念.由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍.本文将从Java的角度看问题,包含下面的这些概念: ...
- javaweb笔记—01(编程英语、常识、Tomcat配置问题)
第一部分: 编程英语: legal:adj. 法律的:合法的:法定的 Userful :出版商 sponsor: n. 赞助者:主办者:保证人 | vt. 赞助:发起 essential:n. 本质 ...
- No.01——配置编程环境
======由于很喜欢Android编程,所以买来了安卓权威指南来学习.为了应用费曼技巧——把知识输出出去以检验和巩固,在此写下学习笔记======= 1. 配置编程环境 Java的JDK(Java ...
- 01 shell编程规范与变量
前言: 大家对shell脚本应该都不算陌生了,如果突然问你什么是shell脚本?是干什么用的?由什么组成以及怎么使用?变量的概念是什么?作用范围是什么?变量间的算术运算怎么表示?你能很容易答出来吗 本 ...
随机推荐
- .NET遇上Docker - 使用Docker Compose组织Ngnix和.NETCore运行
本文工具准备: Docker for Windows Visual Studio 2015 与 Visual Studio Tools for Docker 或 Visual Studio 2017 ...
- myeclipse2015复制项目需要修改的地方
项目下 D:\Workspaces\MyEclipse 2015\angular001\.settings 的org.eclipse.wst.common.component文件,修改里面未原来的 ...
- 【局域网聊天客户端篇】基于socket与Qt
前言 暑假把linux下的高级编程和网络编程学习了一遍,学习很重要,但是也得有个练手的地方,所以必须做做项目来认识下自己所学习的知识. 能够找到小伙伴一起做项目也是一件很快乐的事情的,很幸运的有两个小 ...
- Ubuntu下安装Tomcat7
第一部分:基本安装 1.打开http://tomcat.apache.org/download-70.cgi,下载apache-tomcat-7.0.68.zip. 2.拷贝至合适位置,如/usr/l ...
- 跨语言学习的基本思路及python的基础学习
笔者是C#出身,大学四年主修C#,工作三年也是C#语言开发.但在学校里其他的语言也有相应的课程,eg:Java,Php,C++都学过,当然只是学了皮毛(大学嘛,你懂得),严格来说未必入门,但这些语言的 ...
- c/c++测试函数的运行时间(八种方法)
目前,存在着各种计时函数,一般的处理都是先调用计时函数,记下当前时间tstart,然后处理一段程序,再调用计时函数,记下处理后的时间tend,再tend和tstart做差,就可以得到程序的执行时间,但 ...
- 今天开始上Linux运维课。
2017年4月25日,北京.沙河老男孩教育,Linux运维. 我是其中一员,希望顺利!
- 经验分享:如何用grep对PHP进行代码审计
这是一个常见的误解- 企业需要购买复杂和昂贵的软件来发现应用程序中安全漏洞:而这些专门的软件应用程序,无论是黑盒或白盒,开源或商业,都能很快的发现安全漏洞. 事实是:所有这些专业的漏洞扫描工具都有其特 ...
- [KISSY5系列]淘宝全终端框架 KISSY 5--从零开始使用
KISSY 是淘宝一个开源的 JavaScript 库,包含的组件有:日历.图片放大镜.卡片切换.弹出窗口.输入建议等 一.简介 KISSY 是一款跨终端.模块化.高性能.使用简单的 JavaScri ...
- 基于JS的问卷调查
主要工作 因为代码不好展示,也不好截长图,可以去看我的GitHub地址:https://github.com/14glwu/MyBlog/blob/master/questionnaire.html ...