什么是.NET?什么是CLI?什么是CLR?IL是什么?JIT是什么,它是如何工作的?GC是什么,簡(jiǎn)述一下GC的工作方式?
.NET:
先來(lái)說(shuō)說(shuō)平臺(tái)這詞的意義,大家有的人可能玩過(guò)浩方,11什么之類(lèi)的,在這些上面可以進(jìn)行游戲,這個(gè)就是平臺(tái)。然后大家想想大家用C#寫(xiě)的程序,說(shuō)白了就是.NET上的。所以.NET說(shuō)白了就是平臺(tái),它提供了運(yùn)行環(huán)境,所需要的類(lèi)庫(kù),沒(méi)有它,你就不能讓C#寫(xiě)的程序運(yùn)行起來(lái),當(dāng)然了還有一些比如VB之類(lèi)的語(yǔ)言寫(xiě)的程序。
CLI:
先說(shuō)下MSIL,MSIL是將.NET代碼轉(zhuǎn)化為機(jī)器語(yǔ)言的一個(gè)中間過(guò)程。CLI,就是為MSIL提供環(huán)境的。
CLR:
CLR是個(gè)環(huán)境,它管著咱們的代碼執(zhí)行。
IL:
咱們寫(xiě)的程序,Pc不認(rèn)識(shí),咋辦呢。這就得通過(guò)MSIL把代碼轉(zhuǎn)化成一個(gè)Pc認(rèn)識(shí)的語(yǔ)言代碼,這個(gè)語(yǔ)言就是IL。江湖上稱為中間語(yǔ)言代碼。
JIT:
Jit是需要的時(shí)候,生產(chǎn)需要的量,不浪費(fèi),零庫(kù)存的生產(chǎn)系統(tǒng)。JIT判斷是否是常用的類(lèi),如果是常用的,就來(lái)編譯,其他的還是用普通轉(zhuǎn)義。
GC:
俗稱:垃圾回收機(jī)制,工作原理:就是遍歷程序里的引用類(lèi)型變量的指針,如果發(fā)現(xiàn)沒(méi)有指針的,也就是沒(méi)用的,那就會(huì)被回收。
一個(gè)完整的流程:vs-->code-->.net-->clr-->cli-->il-->Jit-->gc
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注