Java是一門面向?qū)ο蟮木幊陶Z言,它的源代碼文件和字節(jié)碼文件都是Java程序的重要組成部分。
源文件是Java程序員編寫的文本文件,其中包含了程序的源代碼。Java源代碼使用Java語言編寫,它是人類可讀的,因?yàn)樵创a是以字母、數(shù)字和其他可識別字符的形式編寫的。每個源文件通常以.java擴(kuò)展名結(jié)尾,編譯器將源文件編譯成字節(jié)碼文件,以便Java虛擬機(jī)(JVM)執(zhí)行。
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }
字節(jié)碼文件是源文件的二進(jìn)制形式,它是JVM可執(zhí)行的代碼。字節(jié)碼文件使用.class文件擴(kuò)展名結(jié)尾,由編譯器將源文件編譯而來。因?yàn)镴ava是跨平臺的編程語言,所以不同操作系統(tǒng)的計(jì)算機(jī)可以解釋和執(zhí)行相同的字節(jié)碼文件,只要它們都有適當(dāng)?shù)腏VM實(shí)現(xiàn)。事實(shí)上,Java程序員編寫的源代碼可以在任何操作系統(tǒng)中運(yùn)行,只要該操作系統(tǒng)有Java虛擬機(jī)。
// 字節(jié)碼文件的十六進(jìn)制表示 CA FE BA BE 00 00 00 34 00 25 0A 00 07 00 20 07 00 21 07 00 22 0A 00 07 00 23 0A 00 07 00 24 08 00 25 07 00 26 07 00 27 0A 00 00 00 02 00 01 00 28 0A 00 07 00 29 0A 00 07 00 2A 0A 00 07 00 2B 0A 00 07 00 2C 08 00 2D 08 00 2E 07 00 2F 07 00 30 0A 00 00 00 0C 00 01 00 00 00 00 00 01 00 31 00 32 00 00 00 00 00 01 00 0F 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21
使用Java編譯器可以將源文件編譯成字節(jié)碼文件,如下所示:
javac HelloWorld.java
使用Java虛擬機(jī)可以執(zhí)行字節(jié)碼文件,如下所示:
java HelloWorld