1. 程式人生 > >.Net體系結構

.Net體系結構

C#與.Net的關係

C#就其本身而言只是一種語言,它是用於生成面向.Net環境的程式碼,但它本身不是.Net 的一部分。

公共語言執行庫CLR

.Net Framwork的核心是其執行庫執行環境,稱為公共語言執行庫(CLR)或.Net執行庫。通常將在CLR控制下執行的程式碼稱為託管程式碼。.Net中編譯分為兩個階段,

(1)將原始碼編譯為中間語言IL。

(2)CLR把IL編譯為平臺專用的程式碼。

平臺無關性

暫時只是理論範疇,目前主要用於windows平臺,一部分已經實現跨平臺,例如Mono專案,以及現在的.NetCore 1.0中的專案。

提高效能

IL總是即時編譯(JIT編譯),JIT編譯並不把整個程式都編譯,而是編譯要呼叫那部分的程式碼。這樣編譯後的可執行程式儲存起來,下次執行這部分程式碼就不需要編譯了。

中間語言IL

     中間語言主要特性:

  • 面向物件和使用介面
  • 值型別和引用型別之間的顯著差異
  • 強資料型別化
  • 使用異常處理錯誤
  • 使用特性(attribute)
語言互操作性中強資料型別化的重要性

資訊描述一致的前提,通用型別系統(CTS)定義可以在中間語言中使用的預定義資料型別,所有面向.NET Freamwork的語言都可以生成最終基於這型別的編譯程式碼。不同語言型別一致的解決方案。

垃圾回收GC

垃圾回收器是一個程式,其目的是清楚記憶體,方法是所有動態請求的記憶體都分配到堆上(CLR維護自己的託管堆),每隔一段時間,.NET檢測到給定程序的託管堆已滿時呼叫GC,GC處理目前程式碼中所有的變數,檢測對儲存託管堆上的物件的引用,確定哪些物件沒有引用則認為可以刪除。

相關推薦

解讀經典-《C#高階程式設計》第七版-Chapter1-.Net體系結構-Page6-13

01 中間語言(IL) .Net中間語言(IL)的特性,很大程度上來自於要支援多語言互操作性。要支援多語言互操作性,是因為微軟想搞一個大事情,將它的老產品線VB和VC++,VJ++都裝入.Net架構中。要支援多語言互操作,就需要實現這些基本功能: 1) 繼承:一種語言的類能繼承另一種語言編寫的類。 2

解讀經典-《C#高階程式設計》第七版-Chapter1-.Net體系結構-Page13-20

01 程式集   程式集是包含編譯好的、基於.Net Framework的程式碼邏輯單元。一般來說,在Visual Studio中的一個專案即一個程式集,而一個專案中包含多種不同的程式碼檔案。程式集分為可執行程式集和庫程式集,比如一個Winform專案就編譯為可執行程式集,而W

解讀經典-《C#高階程式設計》第七版-Chapter1-.Net體系結構-Page1-6

前言 大家好。本號今天重啟。 看上一篇文章,已經是06年的事情了,從07年之後,我轉做產品經理,機緣巧合,在2012年之後,又接觸到.Net程式設計,在2016年正式迴歸到開發的行列,整整10年。最近幾年,在技術上要補以前落下的課,所以變化很快,進步也很快,16年基於DevExpress做W

.Net體系結構

C#與.Net的關係 C#就其本身而言只是一種語言,它是用於生成面向.Net環境的程式碼,但它本身不是.Net 的一部分。 公共語言執行庫CLR .Net Framwork的核心是其執行庫執行環境,稱為公共語言執行庫(CLR)或.Net執行庫。通常將在CLR控制下執行的程式

從底層瞭解ASP.NET體系結構

導讀:   前言   關於ASP.NET的底層的工作機制,最近園子裡討論的甚是火熱。相信很多人都看過Rick Strahl先生的一篇經典之作:A low-level Look at the ASP.NET Architecture,經Rick Strahl先生同意,我把他的這

一:.NET體系結構

C#和.NET關係 C#語言不能孤立使用,必須和.NET Framework一起。C#編譯器基於.NE。也就是說C#所有程式碼總是使用.NET Framework執行 C#是一門專門為.NET Framework使用而設計的。 C#是一種基於現代面向物件設計的語言。 公共語言執行庫 .NET的核心是

.NET微服務體系結構中為什麼使用Ocelot實現API閘道器

為什麼要使用API閘道器而不是直接通訊?在微服務架構中,客戶端應用程式通常需要使用

.NET框架體系結構

剛開始接觸.NET很疑惑,看完視訊也不是太懂,通過總結和反覆,從概括和概念入手,慢慢變得清晰了。這篇部落格主要是我對.NET基礎知識的瞭解,算作積累吧。 .NET框架體系結構 由四個主要部分組成     公共語言執行時(CLR)是.NET框架應用程式的執行引擎..NET框架的關鍵作用在於,它提供

.NET框架程式設計——體系結構

談到.NET,相信對於大多數初學者而言,都會感覺比較亂、比較迷茫,什麼是ASP.NET、ADO.NET、VB.NET、VC.NET和.NET Framework等等概念,搞的我們暈頭轉向的,他們之間到底是什麼關係呢,為何如此相似呢?我們腦子裡出現了一堆一堆的問號。下面

C#/Net 特點 體系結構

C#特點 1.生成中間程式碼(使用C#開發的應用程式,在編譯成機器碼時,都是生成中間彙編形式的語言。只有當執行時,才會被編譯成本地計算機可執行程式碼) 2.在名稱空間中宣告 3.資料型別豐富 4.有兩個基類(Object和String) 5.方法可當引數傳遞(值傳遞,引用傳

ORACLE 體系結構

默認 告警 再次 ava shared 檢查 從數據 物理結構 增量 本文內容來自王二暖11G視頻講解 oracle工作原理: 1)、在數據庫服務器上啟動Oracle實例;2)、應用程序在客戶端的用戶進程中運行,啟用Oracle網絡服務驅動器與服務器建立連接;3)、服

PCI Express 系統體系結構標準教材

2.3 應用程序 pack 1-1 排序 bsp 芯片 png 成了 第1章 體系結構展望 1.1 第一代總線:ISA,EISA,VESA 第二代總線:PCI, AGP, PCI-X 第三代總線:PCIE 1.2 PCIE的存儲器、IO和配置地址

mysql體系結構理解與分析

interface storage 編程語言 數據庫 結構圖 接觸mysql有一年多了,但是始終是一個偶爾用用的狀態,對其原理性的東西研究不夠,在不少mysql相關的暑假中提到mysql體系結構,很清楚解析了mysql的各個模塊分層和主要功能特性,在理解此功能特性後,會剛好的幫助我

Hadoop中Hbase的體系結構

才會 right hmaster mar hbase 緩存 master 恢復數據 處理 HRegion 當一張表中的數據特別多的時候,HBase把表拆成多個塊,每個塊就是一個HRegion,每個region中包含這個表裏的所有行 HRegionServer 數據

jvm的內部體系結構淺析--轉

跳轉 對象 裝載 基礎 數據 defined 服務 java虛擬機規範 平時 jvm全稱是Java Virtual Machine(java虛擬機)。它之所以被稱之為是“虛擬”的,就是因為它僅僅是由一個規範來定義的抽象計算機。我們平時經常使用的Sun HotSpot

網絡標準體系結構

point clion utl out 架構 同時 poi 應用 apach 網絡標準體系結構主要分為三種 1.B/S架構:Browser/Server 瀏覽器與服務器 2.C/S架構:Cliont/Server 客戶端與服務器 3.P2P:Point to Point 點

Oracle數據庫------體系結構

顧問 內存結構 動態 alt 索引 ron 信息 instance 訪問 ORACLE體系結構包括:實例(Instance),數據庫文件,用戶進程(User process),服務器進程以及其他文件。 1.ORACLE實例(instance) 1).要訪問數據庫必須

JSP的體系結構

創建 需要 改變 而不是 靜態 技術 修改 mage 編程 以下內容引用自http://wiki.jikexueyuan.com/project/jsp/architecture.html: Web服務器需要一個JSP引擎,即處理JSP頁面的容器。JSP容器負責為JSP頁

Zookeeper體系結構

存在 zookeepe pan -a mark 五個 -m 節點 ask 上面我們已經討論了zookeeper在應用程序中的一些操作,以下我們須要理解一下服務端的工作的原理。client是怎樣通過一個client的類庫與服務端進行通信的,然後服務端又是怎樣回應client

redis 體系結構

alt 客戶端命令 mem key ges 並不是 不出 字符串 get 程序strings key-value 類型 ,value不僅是String,也可以是數字.使用strings 類型可以完全實現目前 Memcache 的功能,並且效率更高,還可以享受redis的