.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. 删除 vim 命令

    x 删除当前光标下的字符dw 删除光标之后的单词剩余部分.d$ 删除光标之后的该行剩余部分.dd 删除当前行. c 功能和d相同,区别在于完成删除操作后进入INSERT MODEcc 也是删除当前行, ...

  2. html的常用基础应用

    HTML结构   如下一段最简单的HTML代码:<html>     <head>          <title>HTML页面</title>     ...

  3. 为部署ASP.NET Core准备:使用Hyper-V安装Ubuntu Server 16.10

    概述 Hyper-V是微软的一款虚拟化产品,和VMWare一样采用的hypervisor技术.它已经被内嵌到Win10系统内,我们只需要进行简单的安装即可.但是前提是要确保你的机器已经启用虚拟化,可以 ...

  4. java多线程基本概述(二十)——中断

    线程中断我们已经直到可以使用 interrupt() 方法,但是你必须要持有 Thread 对象,但是新的并发库中似乎在避免直接对 Thread 对象的直接操作,尽量使用 Executor 来执行所有 ...

  5. 获取camera截屏图片

    Camera camera; SpriteRenderer sprRender; Texture2D t2d = New Texture2D(1300, 760, TextureFormat.RGB2 ...

  6. java复习(6)---异常处理

    JAVA异常处理知识点及可运行实例 接着复习java知识点,异常处理是工程中非常重要的. 1.处理异常语句: try{ .... }catch(Exception e){ ..... } finall ...

  7. Linux学习(一)

    Linux系统 1.组成部分 1.1内核负责的功能 1.1.1:系统内存管理 内存管理即管理物理内存和虚拟内存 (通过硬盘实现的,即swap space),长时间为被访问的内存块会被放到虚拟内存中,当 ...

  8. 【原创】10万条数据采用存储过程分页实现(Mvc+Dapper+存储过程)

    有时候大数据量进行查询操作的时候,查询速度很大强度上可以影响用户体验,因此自己简单写了一个demo,简单总结记录一下: 技术:Mvc4+Dapper+Dapper扩展+Sqlserver 目前主要实现 ...

  9. spring学习总结一----控制反转与依赖注入

    spring作为java EE中使用最为广泛的框架,它的设计体现了很多设计模式中经典的原则和思想,所以,该框架的各种实现方法非常值得我们去研究,下面先对spring中最为重要的思想之一----控制反转 ...

  10. [内存管理]管理图解v0.1 v0.2 v0.3

    内存管理图解v0.1 内存管理图解v0.2 内存管理图解v0.3