精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
到底什么是.NET?

?.NET 概念比較龐大,本文只討論基礎知識,只用簡單語言描述。

我們是NET程序員,但是我們有沒有思考過到底什么是.NET ?

官方定義 .NET是微軟推出來的一個致力于敏捷開發的軟件框架。

 大概2000年年左右,微軟推出了.NET 標準規范,既然有了標準就等于開發時候定義接口一樣,需要東西去實現它。.NET Framework  就是 .NET 的具體實現。

可以這么認為 .NET一種優秀的設計規范和平臺標準。

 

下面我們來說說什么是 .NET Framework?

官方定義 .NET Framework  是 Windows 的托管執行環境,可為其運行的應用提供各種服務。

.NET Framework 有兩個主要組件:  

1. .NET 公共語言運行時 (Common Language Runtime,CLR)

CLR核心功能:內存管理,程序集加載,安全性,異常處理,和線程同步,CLR像一個管家一樣,管理著程序代碼的執行,為程序提供一個運行環境。被CLR托管的代碼就叫托管代碼。

       要想了解CLR機制,就要知道我們寫的C#代碼經過VS 編譯之后變成了什么?       

左邊的圖是將我們編寫的C#源代碼編譯成托管模塊,右邊圖是托管模塊的組成部分,這里我們只關注IL代碼,其他的不用關注。C#代碼經過編譯器生成的并不是最終的CUP指令,而是一個中間語言IL代碼,也就是托管代碼,CLR操作的就是IL代碼,最終由CLR將IL編譯成計算機可以認識的Cpu指令。我們應該知道程序運行時候需要占用計算機的內存,C++時代的的程序員是需要自己手動操作管理內存的,需要自己分配和釋放內存。但是我們.NET程序員是不需要進行這個操作的。這是因為CLR幫我們自動做分配內存和釋放內存的這個操作了。這個操作對于NET開發者來說是透明的,這就是文章的前面所說CLR的主要功能內存管理。由CLR管理釋放的內存空間叫做托管堆。在托管堆上的代碼稱之為安全代碼也叫托管代碼,反之不在托管堆上的代碼就叫非托管代碼,非托管代碼有可能造成內存泄漏。

CLR是很復雜的一個東西。本文不做過多的討論,只是對其概念進行簡單的講解。

2.  Framework 類庫 

.NET Framework類庫應該比較好理解,類似我們自己封裝工具類一樣的概念。Framework 類庫 (Framework Class Library) 簡稱 FCL,FCL 里面定義了數千個類型供我們用。利用這些類型我們可以開發各種類型的應用程序 webService,MVC,Windows Forms ,WPF,Windows 服務等。所以要想學好.NET的,雖然不需要你都掌握整個.NET類庫。這也不現實,但是也要盡可能掌握常用的類型。

總結

.NET Framework是.NET平臺標準的主要的實現,實現的不僅僅有.NET Framework還有.NET Core和mono。

.NET Framework包含CLR和 FCL。

CLR為.NET程序提供一個運行環境并對其進行托管。

FCL Framework類庫為.NET程序員提供了大量豐富的基礎類型供其使用。封裝了一些基礎的操作,為了.NET程序員的開發提供了便利。

 ps:文章乃個人學習筆記。大神勿噴。

本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C#技術漫談之公共語言運行庫(CLR)
常用的.NET面試問題 - 1
Windows Mobile 進階系列.第一回.真的了解.NET CF嗎- 黃季冬
.Net編譯原理簡單介紹
.net Framework版本
簡單概述 .NET Framework 各版本區別
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 南康市| 类乌齐县| 钟山县| 西宁市| 桑日县| 杭锦旗| 汪清县| 长白| 峨眉山市| 珠海市| 马山县| 金乡县| 府谷县| 东兰县| 伊金霍洛旗| 玛纳斯县| 天镇县| 廉江市| 兴海县| 民勤县| 丘北县| 大港区| 泽州县| 新郑市| 武强县| 即墨市| 宜城市| 鹤山市| 龙川县| 亳州市| 崇义县| 阿克陶县| 乾安县| 巴林右旗| 陵水| 武山县| 平谷区| 汉阴县| 永清县| 彝良县| 泸定县|