字節碼是只能由軟件程序解釋的軟件計算機目標代碼,通常被描述為虛擬機,字節碼優于低級機器碼,因為它在軟件程序和計算機硬件之間放置了一個解釋器。機器碼依賴于平臺,需要在每個硬件平臺上進行編譯才能在特定平臺上正確執...
字節碼是只能由軟件程序解釋的軟件計算機目標代碼,通常被描述為虛擬機,字節碼優于低級機器碼,因為它在軟件程序和計算機硬件之間放置了一個解釋器。機器碼依賴于平臺,需要在每個硬件平臺上進行編譯才能在特定平臺上正確執行

隨著時間的推移,作為軟件開發范例的人控計算機已經成熟,在計算機硬件和運行在計算機上的軟件之間的外部解釋層的使用也是如此。在早期軟件開發初期,開發人員依賴于計算機硬件,驅動程序和底層操作系統。這種依賴性迫使開發人員密切了解特定計算機的許多方面,這使得平臺獨立性非常困難,軟件的增長與特定的硬件和軟件供應商緊密耦合字節碼的創建在軟件開發社區中創造了一個平臺獨立的環境,軟件開發人員只需編寫一次,就可以在任何地方使用。開發人員不必被迫了解特定計算機的本機驅動程序,也不必關心軟件將運行的底層操作系統虛擬機是Java中使用的術語? 表示將解釋字節碼的軟件程序的編程語言。此虛擬機將根據需要轉換字節碼,以便與計算機內的底層硬件和操作系統交互。虛擬機生成的機器代碼對Java開發人員是隱藏的? 可以在多個平臺上完全運行,而不需要為每個平臺重寫軟件應用程序明白。字節碼不是人類可讀的語言,它由類的數值編碼表示組成,方法、對象的作用域及其在類中的嵌套。每個字節碼操作碼的長度為一個字節。現代計算機執行命令所需的機器語言本質上是供應商專有的硬件和操作系統具有處理進程、內存分配和任務利用的獨特方式。通過使用字節碼軟件開發應用程序,虛擬機解釋器負責創建在專有平臺上運行所需的機器代碼。