1、.NET Framework是支援產生和運行下一代應用程式和XML Web Services的內部Windows組件。
2、.NET Framework具有兩個主要組件:公用語言運行庫和.NET Framework類庫。
3、使用基於公用語言運行庫的語言編譯器開發的代碼稱為Managed 程式碼,Managed 程式碼的優點:
跨語言整合、跨語言異處理、增強的安全性、版本控制、部署支援、簡化的組件互動模式、調試和分析服務
4、.NET Framework的記憶體回收行程管理應用程式的記憶體配置和釋放:
(1)每次使用new關鍵字建立對象時,運行庫都從託管堆為該對象分配記憶體。只要託管堆中有地址空間可用,
運行庫就會繼續為新對象分配空間。
(2)分配記憶體之前先計算欄位所需的空間,在計算對象所需的空間,包括同步索引快和類型對象指標,
然後分配實體記憶體,新對象指標指向下一個可用記憶體地區
(3)記憶體不是無限大的。記憶體回收行程必須執行回收以釋放一些記憶體。記憶體回收行程最佳化引擎根據進行中的
分配情況確定執行回收的最佳時間。當記憶體回收行程執行回收時,它檢查託管堆中不再被應用程式使用的對象
並執行必要的操作來回收它們佔用的記憶體。
5、代:代是CLR垃圾收集器的一種機制,它存在的惟一目的就是提高應用程式效能。一個基於代的垃圾收集器有以下幾種假設:
對象越新,其生存期就越短;對象越老,其生存期就越長;對託管堆的一部分執行垃圾收集比對整個託管堆執行垃圾收集快。
CLR支援3代記憶體:第0代對象預算容量為256k,第1代為2M,第2代為10M。
6、記憶體回收的過程:
第一次初始化,把對象分配到記憶體作為第0代,添加新對象時,先判斷第0代空間是否充足,
不充足的話先在託管堆中尋找不被應用程式使用的對象,把使用的做上標記,把內有標記的對象釋放掉有標記的對象放到第1代,
新添加的對象放到第0代,再添加新對象時,判斷第0代控制項是否充足,充足直接添加,不充足在託管堆中尋找做標記,
有標記的放入第1代,如果第1代空間不足,也在託管堆中尋找做標記,有標記的放到第2代沒有標記的釋放掉,
把第0代有標記的放到第1代,依次類推...
圖示:
7、檔案:是一些具有永久儲存及特定順序的位元組組成的一個有序的、具有名稱的集合。
流:提供一種向備份存放區寫入位元組和從備份存放區讀取位元組的方式。
8、檔案AppendAlltext只能追加txt格式,但word能開啟是因為word相容txt檔案
9、程式:遍曆某個路徑下的檔案、檔案夾及檔案夾裡的內容
class Program
{
static void Main(string[] args)
{
string path = @"E:\我的項目";
DG(path);
}
static void DG(string path)
{
foreach(string str in Directory.GetFiles(path))
{
Console.WriteLine(str);
}
foreach(string str in Directory.GetDirectories(path))
{
DG(str);
}
}
}
本文出自 “大懶丫頭” 部落格,請務必保留此出處http://lanyatou.blog.51cto.com/3306130/624069