自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

CLR VB.NET學(xué)習(xí)經(jīng)驗

開發(fā) 后端
這里介紹CLR VB.NET,對CLR 進行優(yōu)化影響IL層次上的代碼,它使得所有使用CLR 的語言受益。然而,對于特定語言的優(yōu)化涉及到如何把代碼編譯成IL代碼,它根據(jù)特定語言的語法進行。

VB.NET還是比較常用的,于是我研究了一下CLR VB.NET,在這里拿出來和大家分享一下,希望對大家有用。

迄今為止,業(yè)界對VB.NET討論得最多的特色或許就是CLR VB.NET運行在CLR之上,正是CLR VB.NET帶來了許多關(guān)鍵的新特色(包括缺點在內(nèi))。例如,CLR使得VB.NET支持跨語言的繼承以及自由線程。

在VB6 中,分布式VB程序要求有VB運行時庫msvbvm60.dll支持,即該運行時庫必須隨同應(yīng)用一起分發(fā)。其他許多語言,比如C++ 和Java,也有類似的要求。

在.NET中,所有Visual Studio 語言共享同樣的運行時環(huán)境CLR.改用CLR帶來了幾個重要的結(jié)果:現(xiàn)在所有Visual Studio 語言都共用同樣的IDE 、同樣的窗體引擎、同樣的異常處理機制,等等。它意味著VBc在很大程度上已經(jīng)可以和.NET的其他語言相提并論,如C#等。然而,對于CLR 的異議仍舊存在,VB業(yè)界仍在激勵地爭辯它地價值。

不管應(yīng)用是用VB、C#還是其他.NET語言編寫,所有VS.NET代碼都是編譯成中間語言(Intermediate Language ,IL)。當(dāng)應(yīng)用運行時,一個實時編譯器(just-in-time compiler ,或稱為JIT )就把IL代碼編譯成機器語言。在理論上,它意味著為非Windows 的平臺構(gòu)造.NET運行環(huán)境是可能的,但目前還沒有出現(xiàn)有關(guān)這類系統(tǒng)的正式消息。IL有一個缺點:正如VB在5.0 以前的版本,IL代碼對于類似的反向編譯工程很敏感。由于存在這種可能性,許多開發(fā)者對于.NET框架的整體安全性抱有懷疑。

對CLR 進行優(yōu)化影響IL層次上的代碼,它使得所有使用CLR 的語言受益。然而,對于特定語言的優(yōu)化涉及到如何把代碼編譯成IL代碼,它根據(jù)特定語言的語法進行。因此,.NET各種語言之間存在一定的性能差異是必然的。但不管如何,從整體上來看這仍舊是好事,例如CLR 為VB帶來了和C#一樣的調(diào)試和分析工具——之所以能夠如此,是因為它們都使用一樣的工具。

CLR 提供了前所未有的跨語言集成能力,其中包括跨語言繼承代碼的能力。

所有使用CLR 的語言都使用一個公共類型系統(tǒng)(Common Type System),它使得開發(fā)那些運用多種語言的應(yīng)用變得更為容易。

在CLR 之內(nèi)運行的代碼稱為“受管理的代碼”(Managed Code),受管理代碼所使用的內(nèi)存由CLR 全面控制。受管理的代碼有著許多優(yōu)點,包括交叉語言集成、跨語言異常控制以及一個組件交互的簡化模型。VB.NET只能以受管理代碼方式運行,與此相對應(yīng),C#卻具有將代碼轉(zhuǎn)入非受管理方式運行的能力(運行在CLR 之外),比如執(zhí)行指針處理之類的操作。這是VB.NET不能與C#相提并論的地方之一。然而,這種能力的是否重要,對于不同的人、不同的用途來說都有所不同。

由CLR 導(dǎo)致的體系上的不同不僅僅是跨語言繼承、共享功能和受管理代碼,它還有更深刻的意義。VB.NET 的底層體系不再是COM ;另外,VB.NET中所有東西都是對象,甚至連字符串也一樣。由于這些原因以及其他許多原因,Microsoft 改變了底層體系管理對象的方法。COM 系統(tǒng)通過引用計數(shù)方式管理對象,每當(dāng)對象被引用時,引用計數(shù)就增加。當(dāng)對象引用超出作用范圍或者被釋放時,計數(shù)器的值就減少;一旦引用計數(shù)為0 ,對象就被釋放。Microsoft 聲稱。

NET 體系中的引用計數(shù)開銷實在太大,使得.NET采用引用計數(shù)不再合適,因此它就放棄了引用計數(shù),改用垃圾回收(Garbage Collection)。以上介紹CLR VB.NET。

【編輯推薦】

  1. 簡單分析VB.NET Dock屬性
  2. 淺析VB.NET面向?qū)ο缶幊痰膬?yōu)點
  3. VB.NET名字空間學(xué)習(xí)筆記
  4. 詳解VB.NET實現(xiàn)Web Service
  5. 簡單講解VB.NET靜態(tài)成員
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-10-14 11:27:20

VB.NET Grou

2009-10-16 14:31:48

VB.NET Noti

2009-10-10 15:43:51

2009-10-19 09:16:08

VB.NET語言

2009-11-02 15:16:07

VB.NET編程

2010-01-14 18:14:22

VB.NET開發(fā)特點

2009-10-26 13:13:17

VB.NET編碼規(guī)范

2010-01-21 14:49:44

VB.NET操作Wor

2009-10-14 09:29:43

VB.NET加密

2009-10-15 13:06:12

VB.NET Shar

2009-10-15 17:57:33

VB.NET List

2009-10-28 16:14:21

VB.NET編寫托盤程

2010-01-12 17:02:54

VB.NET文件上傳

2009-11-03 10:40:57

VB.NET Prot

2010-01-13 18:09:09

VB.NET動態(tài)生成代

2009-10-28 13:35:25

VB.NET共享成員

2009-10-28 17:00:30

VB.NET數(shù)據(jù)庫

2009-11-02 11:11:07

VB.NET OOP設(shè)

2009-11-02 18:12:45

VB.NET FLAS

2009-10-16 18:01:06

VB.NET調(diào)用Win
點贊
收藏

51CTO技術(shù)棧公眾號