2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  .NET Framework介紹</p><p>  Alex Kriegel</p><p>  1.NET Framework是Microsoft為開發(fā)應(yīng)用程序而創(chuàng)建的一個富有革命性的新平臺。這句話最有趣的地方是它的含糊不清,但這是有原因的。首先,注意這句話沒有說“在Windows操作系統(tǒng)上開發(fā)應(yīng)用程序”。盡管.NET Framework的Microsoft版本運

2、行在Windows操作系統(tǒng)上,但以后將推出運行在其他操作系統(tǒng)上的版本,例如Mono,它是.NET Framework的開發(fā)源代碼版本(包含一個C#編譯器),該版本可以運行在幾個操作系統(tǒng)上,包括各種Linux版本和Mac OS.Microsoft .NET Compact Framework(基本上是完整 .NET Framework的一個子集)。使用.NET Framework的一個主要原因是它可以作為集成各種操作系統(tǒng)的方式。另外,上面

3、給出的.NET Framework定義并沒有限制應(yīng)用程序的類型。這是因為本來就沒有限制。.NET Framework可以創(chuàng)建Windows應(yīng)用程序、Web應(yīng)用程序、Web服務(wù)和其他各種類型的應(yīng)用程序..NET Framework的設(shè)計方式保證它可以用于各種語言,包括C#語言,C++、Vis</p><p>  這也是.NET Framework具有誘人前景的部分原因。</p><p>  

4、2.NET Framework主要包含一個非常大的代碼庫,可以在客戶語言(如C#)中通過面向?qū)ο缶幊碳夹g(shù)(OOP)來使用這些代碼。這個庫分為不同的模塊,這樣就可以根據(jù)希望得到的結(jié)果來選擇使用其中的各個部分。例如,一個模塊包含Windows應(yīng)用程序的構(gòu)件,另一個模塊包含聯(lián)網(wǎng)的代碼塊,還有一個模塊包含Web開發(fā)的代碼塊。一些模塊還分為更具體的子模塊,例如在Web開發(fā)模塊中,有用于建立Web服務(wù)的子模塊.其目的是,不同的操作系統(tǒng)可以根據(jù)

5、自己的特性,支持其中的部分或全部模塊。例如,PDA支持所有的核心.NET功能,但不需要 某些更深奧的模塊。 部分.NET Framework庫定義了一些基本類型。類型是數(shù)據(jù)的一種表達(dá)方式,指定其中最基礎(chǔ)的部分(例如32位帶符號的整數(shù)),以便使用.NET Framework在各種語言之間進(jìn)行交互操作。這稱為通用類型系統(tǒng)(Common Type System,CTS).除了支持這個庫以外,.NET Framework還包含.NET公共語

6、言運行庫(Common Language Runtime,CLR),它負(fù)責(zé)管理用.NET庫開發(fā)的所有應(yīng)用程序的執(zhí)行。</p><p>  3.如何用.NET Framework編寫應(yīng)用程序.使用.NET Framework編寫應(yīng)用程序,就是使 用.NET代碼庫編寫代碼(使用支持Framework的任何一種語言).VS是一種強大的集成開發(fā)環(huán)境,支持C#(以及托管和非托管C++、Visual Basic和其他一些

7、語言)。這個環(huán)境的優(yōu)點是便于把.NET功能集成到代碼中。我們創(chuàng)建的代碼完全是C#代碼,但使用.NET Framework,并在需要時利用VS中的其他工具。為了執(zhí)行C#代碼,必須把它們轉(zhuǎn)換為目標(biāo)操作系統(tǒng)能夠理解的語言,即本機代碼,這種轉(zhuǎn)換稱為編譯代碼,由編譯器執(zhí)行。但在.NET Framework下,這個過程分為兩個階段。</p><p>  4. MSIL和JIT在編譯使用.NET Framework庫的代碼時,

8、不是立即創(chuàng)建操作系統(tǒng)特定的本機代碼,而是把代碼編譯為Microsoft中間語言(Microsoft Intermediate Language,MSIL)代碼,這些代碼不專用于任何一種操作系統(tǒng),也不專用于C#。其他.NET語言,如Visual Basic .NET也可以在第一階段編譯為這種語言,當(dāng)使用VS開發(fā)C#應(yīng)用程序時,編譯過程就由VS完成。顯然,要執(zhí)行應(yīng)用程序,必須完成更多的工作,這是Just-In-Time(JIT)編譯器的任務(wù)

9、,它把MSIL編譯為專用于OS和目標(biāo)機器結(jié)構(gòu)的本機代碼。這樣OS才能執(zhí)行應(yīng)用程序。這里編譯器的名稱Just-In-Time反映了MSIL僅在需要時才編譯的事實。過去,常常需要把代碼編譯為幾個應(yīng)用程序,每個應(yīng)用程序都用于特定的操作系統(tǒng)和CPU結(jié)構(gòu)。這通常是一種優(yōu)化形式(例如,為了讓代碼在AMD芯片上運行得更快),但有時是非常重要的(例如對于工作在Win9x 和 WinNT/2000環(huán)境下的應(yīng)用程序)?,F(xiàn)在就不必要了,因為顧名思義,JIT編

10、譯器使用MSIL代碼,而MSIL代碼是獨立于機器</p><p>  5. 程序集在編譯應(yīng)用程序時,所創(chuàng)建的MSIL代碼存儲在一個程序集中,程序集包括可執(zhí)行的應(yīng)用程序文件(這些文件可以直接在Windows上運行,不需要其他程序,其擴(kuò)展名是.exe)和其他應(yīng)用程序使用的庫(其擴(kuò)展名是.dll)。除了包含MSIL外,程序集還包含元信息(即程序集中包含的數(shù)據(jù)的信息,也稱為元數(shù)據(jù))和可選的資源(MSIL使用的其他數(shù)據(jù),例

11、如聲音文件和圖片)。元信息允許程序集是完全自我描述的。不需要其他信息就可以使用程序集,也就是說,我們不會遇到下述情形:不能把需要的數(shù)據(jù)添加到系統(tǒng)注冊表中,而這種情形在使用其他平臺進(jìn)行開發(fā)時常常出現(xiàn)。因此,部署應(yīng)用程序就非常簡單了,只需把文件復(fù)制到遠(yuǎn)程計算機上的目錄下即可。因為不需要目標(biāo)系統(tǒng)上的其他信息,所以只需從該目錄中運行可執(zhí)行文件即可(假定安裝了.NET CLR)。當(dāng)然,不必把運行應(yīng)用程序所需要的所有信息都安裝到一個地方??梢跃帉懸?/p>

12、些代碼,執(zhí)行多個應(yīng)用程序所要求的任務(wù)。此時,通常把這些可重用的代碼放在所有應(yīng)用程序都可以訪問的地方。在.NET Framework中,這個地方是全局程序集高速緩存(Global Assembly Cache,GAC</p><p>  6. 托管代碼在把代碼編譯為MSIL,再用JIT編譯器把它編譯為本機代碼后,CLR的任務(wù)還沒有全部完成。用.NET Framework編寫的代碼在執(zhí)行(這個階段通常稱為運行時(ru

13、ntime))時是托管的。即CLR管理著應(yīng)用程序,其方式是管理內(nèi)存、處理安全性,以及允許進(jìn)行跨語言調(diào)試等。相反,不在CLR控制之下運行的應(yīng)用程序是非托管的,某些語言如C++可以用于編寫這類應(yīng)用程序,例如,訪問操作系統(tǒng)的低級功能。但是,在C#中,只能編寫在托管環(huán)境下運行的代碼。我們將使用CLR的托管功能,讓.NET自己與操作系統(tǒng)進(jìn)行交互。</p><p>  7. 垃圾回收 托管代碼最重要的一個功能是垃圾回收(ga

14、rbage collection)。這種.NET方法可確保應(yīng)用程序不再使用某些內(nèi)存時,這些內(nèi)存就會被完全釋放。在.NET推出以前,這項工作主要由程序員負(fù)責(zé),代碼中的幾個簡單錯誤會把大塊內(nèi)存分配到錯誤的地方,使這些內(nèi)存神秘失蹤。這通常意味著計算機的速度逐漸減慢,最終導(dǎo)致系統(tǒng)崩潰。 .NET垃圾回收會頻繁檢查計算機內(nèi)存,從中刪除不再需要的內(nèi)容。它沒有設(shè)置時間幀,可能一秒鐘內(nèi)會進(jìn)行上千次的檢查,也可能幾秒鐘檢查一次,或者隨時進(jìn)行檢查,但可以肯

15、定進(jìn)行了檢查。 這里要給程序員一些提示。因為這項工作在不可預(yù)知的時間進(jìn)行,所以在設(shè)計應(yīng)用程序時,必須記得要進(jìn)行這樣的檢查。需要許多內(nèi)存才能運行的代碼應(yīng)自己執(zhí)行這樣的檢查,而不是坐等垃圾回收,但這不像聽起來那樣難。</p><p>  8. 把它們組合在一起 在繼續(xù)學(xué)習(xí)之前,先總結(jié)一下上述創(chuàng)建.NET應(yīng)用程序所需要的步驟:(1)使用某種.NET兼容語言(如C#)編寫應(yīng)用程序代碼,如圖1-1所示。 (2)把代碼編譯為

16、MSIL,存儲在程序集中. (3) 在執(zhí)行代碼時(如果這是一個可執(zhí)行文件,就自動運行,或者在其他代碼使用它時運行),首先必須使用JIT編譯器將代碼編譯為本機代碼,如圖1-3所示。(4)在托管的CLR環(huán)境下運行本機代碼,以及其他應(yīng)用程序或過程.</p><p>  9. 鏈接在上述過程中還有一點要注意。在第(2)步中編譯為MSIL的C#代碼不一定包含在單獨的文件中,可以把應(yīng)用程序代碼放在多個源代碼文件中,再把它們編

17、譯到一個程序集中。這個過程稱為鏈接,是非常有用的。原因是處理幾個較小的文件比處理一個大文件要簡單得多。可以把邏輯上相關(guān)的代碼分解到一個文件中,以便單獨處理它,這也更易于在需要代碼時找到它們,讓開發(fā)小組把編程工作分解為可管理的塊,讓每個人編寫一小塊代碼,而不會破壞已編寫好的代碼部分或其他人正在處理的部分。</p><p>  .NET Framework Introduce</p><p>

18、  Alex Kriegel</p><p>  1.NET Framework for the development of Microsoft applications and the creation of a rich a revolutionary new platform. This case is most interesting is its vague, but this is a reason

19、 for this. First of all, pay attention to this statement did not say "in the Windows operating system development and application procedures." Although. NET Framework version runs on Microsoft Windows operating

20、 system president, but future operations will be launched in other versions of the operating systems, such </p><p>  2.NET Framework mainly contains a very large code library. customers in languages (such as

21、 C #) through object-oriented programming (OOP) to use these codes. The library is divided into different modules, thus can expect the result to choose to use the various parts. For example, a module includes Windows app

22、lication components, another networking module containing the code block, There is also a Web module contains the code block. development Some modules also divided into more specific sub-mod</p><p>  3. How

23、to use. NET Framework applications development. Use. NET Framework preparation of applications, is used. NET code for the preparation of code (using the Framework support any language). VS is a powerful integrated develo

24、pment environment, support for C # (and managed and unmanaged C + +. Visual Basic and other languages). The environmental advantages of the facilitates. NET to integrate the functions of the code. We build the code is C

25、# code, but use. NET Framework, and, if necessary, th</p><p>  4. Keyword and the JIT compiler in use. NET Framework library code, instead of immediately creating an operating system specific code of the mac

26、hine, but put code compiler for Microsoft intermediate language (Microsoft Intermedi ate Language, keyword) code, the code is not exclusive to any one operating system. not exclusive to C #. Other. NET language, If Visua

27、l Basic. NET can be compiled in the first stage of this language, When using VS C # application development, build on the process comple</p><p>  5. Program Set compiled application, citing the keyword code

28、stored in a centralized procedure. Set procedures including the application executable files (which can be directly run on Windows. no need for other procedures, expansion are. exe) and other applications that use the li

29、brary (expansion are. dll). In addition to include keyword, the procedures set also includes meta-information (that is, procedures focus on the data contained in the information, also known as metadata) and the optional&

30、lt;/p><p>  6. Trust code compiler for code or keyword and then JIT compiler it compiler - based machine code, CLR task is not completed. Used. NET Framework prepared by the implementation of the code (often re

31、ferred to as the stage of operation (runti me)) is the custodian. That the CLR manages the applications, and its methods are memory management, handling security, and allow for cross-language debugging. Conversely, not C

32、LR running under control of non-custody procedures, some languages such as C + + c</p><p>  7. Garbage collector managed one of the most important functions of the garbage collector (garbage collectio n). Th

33、is species. NET will ensure that applications would no longer use certain memory, the memory which will be completely released. In. NET introduced to the former, this primarily by programmers responsible, code of a few s

34、imple mistakes will be large memory allocation to the wrong places, so that these mysterious disappearance of memory. This usually means that the speed of the comput</p><p>  8. The combination of them in co

35、ntinuous learning, first summarize the above building. NET applications needed steps : (1) the use of some. NET-compatible languages (eg C #) prepared application code (2) the provision into keyword code, stored in the c

36、entralized procedure, as shown in Figure 1-2. (3) the code (if it is an executable file that will automatically run or other code to run when to use it), it must first use of JIT compiler to compile code-based machine co

37、de, as shown in Figure 1-3. </p><p>  9. Links in these processes Another point to note.step compiler for the C # code keyword is not always included in a separate document, Application procedures can be cod

38、e on a number of source documents, and then compile them into a centralized procedure. This process is known as link is very useful. The reason is handling several smaller than handling paper documents to a much more sim

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論