當前位置:編程學習大全網 - 源碼下載 - Saf源代碼

Saf源代碼

1 ..............................

泛型是編程語言的壹個特征。允許程序員在用強類型編程語言編寫代碼時定義壹些可變部分,這些部分必須在使用前指定。各種編程語言、它們的編譯器和運行環境對泛型有不同的支持。參數化類型以實現代碼重用和提高軟件開發效率的數據類型。泛型類是引用類型和堆對象,主要引入類型參數的概念。

泛型類和泛型方法同時具有可重用性、類型安全性和高效性,這是非泛型類和非泛型方法所不具備的。

2.............................

JIT(just-in-time compilation)指的是計算機領域,實時編譯也叫動態翻譯,是壹種通過在運行時將字節碼翻譯成機器碼來提高字節碼編譯語言性能的技術。即時編譯早期的兩個運行時理論是字節碼編譯和動態編譯。

在編譯成字節碼的系統的早期版本中,如Limb編程語言、smalltalk、UCSD P-system、Perl、GNU Clisp和Java,源代碼被翻譯成中間表示,即字節碼。字節碼不是任何特定計算機的機器碼,它可以移植到許多計算機系統中。字節碼被解釋為在虛擬機中運行。

動態編譯環境是在執行時使用編譯器的編譯環境。例如,大多數常見的Lisp系統都有壹個編譯器,可以編譯運行時創建的函數。

在即時編譯環境中,字節碼的編譯是第壹步,它遞歸地將源代碼表示成可移植的、可優化的中間表示。字節碼被部署到目標系統。當代碼被執行時,運行時環境的編譯器將字節碼翻譯成本地機器代碼。在每個文件或每個函數的基礎上:函數只有在被執行時才被編譯。

目標是結合本地和字節碼編譯的優點:源代碼分析和基本性能優化等大多數重量級任務都在編譯時處理,將字節碼編譯成機器碼比從源代碼編譯成機器碼要快得多。部署字節碼是可移植的,而機器碼受限於特定的系統結構。從字節碼到機器碼編譯器更容易實現,因為實現字節碼編譯器時大部分工作已經完成。

三.........................

提供了跨平臺的可能性。

四.........................

緊縮流類別

註意:這個類是。NET Framework版。

提供使用Deflate算法壓縮和解壓縮流的方法和屬性。

此類代表Deflate算法,這是壹種無損壓縮和解壓縮文件的行業標準算法。它結合了LZ77算法和霍夫曼編碼。只有先前綁定的中間存儲可以用於生成或使用數據,即使對於具有任意長度和順序外觀的輸入數據流也是如此。這種格式很容易以不涉及專利使用權的方式實現。更多信息請參考RFC 1951《緊縮壓縮數據格式規範版本1.3》。此類不能用於壓縮大於4 GB的文件。

GZipStream類

註意:這個類是。NET Framework版。

提供壓縮和解壓縮流的方法和屬性。

此類別代表GZip數據格式,它使用行業標準算法對文件進行無損壓縮和解壓縮。這種格式包括壹個循環冗余校驗值,用於檢測數據損壞。GZip數據格式使用與通縮流類相同的算法,但是可以擴展到使用其他壓縮格式。這種格式很容易以不涉及專利使用權的方式實現。gzip的格式可以從RFC 1952《gzip文件格式規範4.3 (gzip文件格式規範4.3)》中獲得。此類不能用於壓縮大於4 GB的文件。

五..............................

委托是壹種在對象中保存方法引用的類型,也是壹種類型安全的函數指針。

讓我給妳舉個例子:

//聲明壹個委托,其中NewDelegate()可以理解為以後用來取方法的類型。

委托void new delegate();

//下面的兩個方法,A和B,可以理解為這種類型NewDelegate的兩個例子。

public void a(){ };

public void b(){ };

公共void main()

{

new delegate DGT 1 = new new delegate(a);

new delegate DG T2 = new new delegate(b);

//dgt1指向方法A,A,dgt2指向方法B..也就是說,方法的返回值和參數類型的數量與聲明的委托相同。

//匹配,可以用委托調用此方法。此方法的名稱作為參數傳遞給實例化的委托。

}

事件是壹種特殊的委托。為什麽這麽說?

通過反編譯。net framework用decompiler,我們可以發現壹個事件的定義(這裏只是壹個事件的定義,事件的參數在類庫中定義不同)如下:

公共委托void EventHandler(對象發送方,EventArgs e);

以及常用控件的點擊事件是如何定義的?

公共事件EventHandler Click

說明點擊事件是壹個委托。

我們常見的按鈕控件是如何添加事件的呢?

page load:button 1 . click+= new eventhandler(button 1 _ click);

Button1的事件被定義為protected button 1 _ click(object sender,eventargese) {}

如您所見,這是壹個典型的委托調用。

六............................................

信息:描述

程序集名稱:指定程序集名稱的文本字符串。

版本號:主要版本號和次要版本號,以及修訂號和內部版本號。公共語言運行庫使用這些數字來實施版本策略。

區域性:有關此程序集支持的區域性或語言的信息。此信息應僅用於將程序集指定為包含特定於區域性或特定於語言的信息的附屬程序集。(具有區域性信息的程序集被自動假定為附屬程序集。)

強名稱信息:如果已經為程序集提供了強名稱,則它是來自發行者的公鑰。

程序集中所有文件的列表:程序集中包含的每個文件的哈希和文件名。請註意,組成程序集的所有文件必須與包含程序集清單的文件位於同壹目錄中。

類型引用信息:運行庫用來將類型引用映射到包含其聲明和實現的文件的信息。該信息用於從程序集導出的類型。

關於被引用程序集的信息:該程序集靜態引用的其他程序集的列表。如果依賴程序集具有強名稱,則每個引用都包括依賴程序集的名稱、程序集元數據(版本、區域性、操作系統等。)和公鑰。

通過在代碼中使用程序集屬性,可以添加或更改程序集清單中的壹些信息。您可以更改版本信息和信息屬性,包括商標、版權、產品、公司和信息版本。

........

  • 上一篇:時鐘樹綜合的目標
  • 下一篇:中國科學院有多少院士?
  • copyright 2024編程學習大全網