#就拿Java語言來說:
源文件是以**.java的文件形式存儲在磁盤中的。但是這樣的文件相當於只是將其中的文本轉換成了二進制。計算機根本不知道該如何執行。
通過Java的編譯器將其轉換成**.class文件後,class文件雖然也是二進制存儲,但是有自己的結構:魔數,副版本號,主版本號,常量池計數器,常量池,訪問標誌位,類索引,父類索引等等。但是這個東西計算機不能直接執行的,需要通過Java虛擬機去執行。而Java虛擬機相當於是模擬計算機,也有個程序計數器啥的。我個人認為應該是將.class文件中的字節碼通過jvm中的執行引擎轉換成對應的虛擬機指令。然後才能執行。而在真正執行的時候虛擬機中對應的虛擬機指令也是要轉換成對應的機器指令才能執行