.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编程机制的更多相关文章

  1. 【WCF--初入江湖】01 WCF编程概述

    01 WCF编程概述 SOA的优点 1.服务独立于平台和工作环境.服务并不关心自己所处的环境,也不关心与之进行通信的服务所处的    环境. 2.服务相互隔离. 3.服务对协议.格式和传输中立. 4. ...

  2. php hook编程机制

    说明 hook,中文翻译为钩子,编程中的钩子类似我们现实中的钩子,需要挂在东西的时候    直接挂载到上面即可.程序中也是,需要运行的代码挂载到上面即可.         具体思想就是:在项目代码中, ...

  3. 01网络编程(基础知识+OSI七层协议+TCP与UDP)

    目录 01 网络编程 一.软件开发架构 1.1 CS架构 1.2 BS架构 二.网络理论前戏 2.1 简介 2.2 常见硬件 三.OSI七层协议(五层) 3.1 七层协议 3.2 五层协议 3.3 知 ...

  4. obj-c编程01[扩展学习01]:对象消息机制工作原理

    obj-c中的类就像C语言中的struct.NSObject类声明一个成员变量isa,因为NSObject类是整个继承树的根,所以每个类中都有一个isa其指向创建的对象.在类结构中有实例变量(成员变量 ...

  5. Java并发编程实战 01并发编程的Bug源头

    摘要 编写正确的并发程序对我来说是一件极其困难的事情,由于知识不足,只知道synchronized这个修饰符进行同步. 本文为学习极客时间:Java并发编程实战 01的总结,文章取图也是来自于该文章 ...

  6. 数据结构笔记01:编程面试过程中常见的10大算法(java)

    以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念.由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍.本文将从Java的角度看问题,包含下面的这些概念: ...

  7. javaweb笔记—01(编程英语、常识、Tomcat配置问题)

    第一部分: 编程英语: legal:adj. 法律的:合法的:法定的 Userful :出版商  sponsor: n. 赞助者:主办者:保证人 | vt. 赞助:发起 essential:n. 本质 ...

  8. No.01——配置编程环境

    ======由于很喜欢Android编程,所以买来了安卓权威指南来学习.为了应用费曼技巧——把知识输出出去以检验和巩固,在此写下学习笔记======= 1. 配置编程环境 Java的JDK(Java ...

  9. 01 shell编程规范与变量

    前言: 大家对shell脚本应该都不算陌生了,如果突然问你什么是shell脚本?是干什么用的?由什么组成以及怎么使用?变量的概念是什么?作用范围是什么?变量间的算术运算怎么表示?你能很容易答出来吗 本 ...

随机推荐

  1. 使用HTTP的同步方式还是异步方式?

    同步与异步 同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完 ...

  2. Java关于Robot类的使用以及远程桌面的实现

    利用Robot实现效果是运行之后鼠标自动定位到整个屏幕坐标系的(635,454)位置,输入wangtianze package com.wtz.util; import java.awt.AWTExc ...

  3. vim粘贴代码问题

    vim粘贴代码问题 vim 在使用xshell进行vim操作的时候,经常会直接粘贴一些外部的代码,然后粘贴上之后会出现逐行缩进的情况,之前一直没有去找为啥,并且逐行的给他弄回去. 转自:https:/ ...

  4. 是什么让spring 5放弃了使用Guava Cache?

    一路走来,Spring社区从刚开始的核心模块一直发展到现在,最近Sping5也完成了M5的发布, 相信不久之后第一个RELEASE版本也会发布.里面有很多特性是和即将要发布的JAVA 9息息相关的.今 ...

  5. Apache Spark1.1.0部署与开发环境搭建

    Spark是Apache公司推出的一种基于Hadoop Distributed File System(HDFS)的并行计算架构.与MapReduce不同,Spark并不局限于编写map和reduce ...

  6. Javascript中this关键字

    this 是谁调用的时候,指定的是谁,通俗一点讲就是,函数是谁执行是不是由其中一个对象点出来的那就是代表它, 比如执行对象a中b函数a.b();这个b函数中this代表a; 当换成var c=a.b; ...

  7. bzoj3112 [Zjoi2013]防守战线

    正解:线性规划. 直接套单纯形的板子,因为所约束条件都是>=号,且目标函数为最小值,所以考虑对偶转换,转置一下原矩阵就好了. //It is made by wfj_2048~ #include ...

  8. CentOS_5.6下使用cmake编译MySQL_5.5.11教程

    注:资料来自网络    Centos 5.6编译安装mysql 5.5.11 2011年06月24日 星期五 05:33 MySQL 最新的版本5.5.11需要cmake编译安装,估计以后的版本也会采 ...

  9. 浅析被element.style所覆盖的样式

    近日,我在用swiper插件写一个手游官网时,出现了一个很奇怪的问题.问题如下 如上图所示,这里是一个可以左右拖动的ul,每一个英雄介绍都是一个li标签,上图这是正常的情况.可是,它会随机不定期不定时 ...

  10. jquery实现网页倒计时

    在毕设作品考试模块要做个倒计时,当时间到时自动结束答题.于是在jQuery插件社区找到一个简洁明了的倒计时.先上效果图. 感谢作者hacker(这是黑客的意思么),贴上地址:http://www.jq ...