什麼是.NET?什麼是CLI?什麼是CLR?IL是什麼?JIT是什麼,它是如何工作的?GC是什麼,簡述一下GC的工作方式?
.NET:
先來說說平台這詞的意義,大家有的人可能玩過浩方,11什麼之類的,在這些上面可以進行游戲,這個就是平台。然後大家想想大家用C#寫的程序,說白了就是.NET上的。所以.NET說白了就是平台,它提供了運行環境,所需要的類庫,沒有它,你就不能讓C#寫的程序運行起來,當然了還有一些比如VB之類的語言寫的程序。
CLI:
先說下MSIL,MSIL是將.NET代碼轉化為機器語言的一個中間過程。CLI,就是為MSIL提供環境的。
CLR:
CLR是個環境,它管著咱們的代碼執行。
IL:
咱們寫的程序,Pc不認識,咋辦呢。這就得通過MSIL把代碼轉化成一個Pc認識的語言代碼,這個語言就是IL。江湖上稱為中間語言代碼。
JIT:
Jit是需要的時候,生產需要的量,不浪費,零庫存的生產系統。JIT判斷是否是常用的類,如果是常用的,就來編譯,其他的還是用普通轉義。
GC:
俗稱:垃圾回收機制,工作原理:就是遍歷程序裡的引用類型變量的指針,如果發現沒有指針的,也就是沒用的,那就會被回收。
一個完整的流程:vs-->code-->.net-->clr-->cli-->il-->Jit-->gc