主要區別-源代碼與字節碼
計算機是一種能根據用戶提供的指令執行任務的機器。計算機程序可以向計算機發出指令。它是用一套特定的編程語言編寫的。編程語言有很多種。大多數編程語言都是高級編程語言。用高級語言編寫的程序很容易被人或程序員理解。這些程序稱為源代碼。機器無法理解它們。因此,人類可讀可理解的程序必須轉換成機器可理解的格式。機器可理解的代碼被稱為機器代碼。使用C語言將整個機器代碼轉換為C語言。有些編程語言將源代碼轉換為中間代碼,然後將中間代碼轉換為機器代碼。在這個過程中,中間代碼被稱為字節碼。本文討論源代碼和字節碼之間的區別。源代碼和字節碼的關鍵區別在於,源代碼是使用人類可讀編程語言編寫的計算機指令的集合,而字節碼是源代碼和由虛擬機執行的機器代碼之間的中間代碼。
目錄
1. 概述和主要區別
2. 什麼是源代碼
3. 什麼是字節碼
4. 源代碼和字節碼的相似性
5. 並行比較-源代碼與表格式的字節碼
6. 摘要
什麼是源代碼(source code)?
編寫了一個程序來解決一個計算問題。一組程序被稱為軟件。為了開發軟件,開發人員應該對需求有很好的理解。根據需求,可以對系統進行設計。然後,用編程語言實現了所設計的系統。程序員可以使用編程語言將設計轉換成一組計算機程序。
這些程序可以被人類或程序員理解。它們的語法與英語相似。使用人類可讀的編程語言編寫的指令集合稱為源代碼。例如,C、Java等編程語言都集成了開發環境(IDE)來開發程序。也可以使用簡單的文本編輯器編寫程序。這些程序被稱為源代碼。
什麼是字節碼(bytecode)?
當編程語言從源代碼轉換為機器代碼時,一些編程語言將源代碼轉換為稱為字節碼的中間代碼。Java是使用字節碼的主要編程語言之一。將源代碼轉換為字節碼的過程如下。
在Java中,有一個虛擬機叫做Java虛擬機(JVM),它幫助運行Java程序。虛擬機類似於系統上安裝的操作系統。運行Java程序時,編譯器將Java程序或源代碼轉換為Java字節碼。然後JVM將字節碼轉換為機器碼。機器代碼由計算機直接執行。字節碼是為JVM編寫的。它不是針對機器的。因此,字節碼由各種平臺執行,如Windows、Linux和Mac。字節碼有數字代碼、常量和引用,它們對解析和語義分析的結果進行編碼。
源代碼(source code)和字節碼(bytecode)的共同點
- 兩者都與計算機編程有關。
- 兩者都應翻譯成機器代碼,供計算機執行指令。
源代碼(source code)和字節碼(bytecode)的區別
源代碼與字節碼 | |
源代碼是使用人類可讀的編程語言編寫的計算機指令的集合。 | 字節碼是源代碼和由虛擬機執行的機器代碼之間的中間代碼。 |
可理解性 | |
源代碼是可讀的人類或程序員。 | 字節碼可由虛擬機讀取。 |
代 | |
源代碼是由人類生成的。 | 字節碼由編譯器生成。 |
格式 | |
源代碼是純文本的形式,具有相似的英語語法和註釋。 | 字節碼有數字代碼、常量和引用,它們對解析和語義分析的結果進行編碼。 |
執行方法 | |
源代碼不能被機器直接執行。 | 字節碼可由虛擬機執行。 |
執行速度 | |
源代碼的速度比字節碼最低。 | 字節碼的速度比源代碼快。 |
性能 | |
源代碼的性能不如字節碼。 | 字節碼的性能比源代碼高,因為它接近機器代碼。 |
總結 - 源代碼(source code) vs. 字節碼(bytecode)
程序員可以用程序向計算機提供指令。大多數程序都是用高級編程語言編寫的。人類可以理解它們,但計算機無法理解。因此,程序應轉換成機器可理解的格式。在這個過程中,不同的語言使用不同的方法。有些編程語言直接把程序轉換成機器代碼。其他語言將程序轉換為中間代碼,並將中間代碼轉換為機器代碼。源代碼和字節碼是這個過程中的兩個常見術語。源代碼和字節碼的區別在於,源代碼是使用人類可讀編程語言編寫的計算機指令的集合,而字節碼是源代碼和由虛擬機執行的機器代碼之間的中間代碼。
下載源代碼與字節碼的pdf文件
你可以下載這篇文章的PDF版本,並根據引文說明離線使用。請在這裡下載PDF版本:源代碼和字節碼的區別
引用
1Java JDK、JRE和JVM。此處提供