Java是一種面向?qū)ο蟮木幊陶Z言,經(jīng)常用于開發(fā)Web應(yīng)用程序、移動應(yīng)用程序和嵌入式系統(tǒng)。Java語言完成了跨平臺的追求,使得Java應(yīng)用程序可以在不同的操作系統(tǒng)和硬件上運行而不需要任何修改。但是,Java程序的執(zhí)行需要依賴于Java虛擬機(jī)(JVM)。
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } }
Java源代碼經(jīng)過編譯器編譯生成字節(jié)碼,這段字節(jié)碼是無法在計算機(jī)上直接執(zhí)行的。字節(jié)碼僅能被Java運行時環(huán)境識別和運行。JRE(Java運行時環(huán)境)包括了Java虛擬機(jī)和Java類庫,是Java程序運行的必要環(huán)境。JVM是JRE的一部分,其作用是接收字節(jié)碼文件,并將其轉(zhuǎn)換為可執(zhí)行二進(jìn)制文件,該二進(jìn)制文件可以在特定的操作系統(tǒng)上運行。JVM使得Java程序具有跨平臺性。
# Java Virtual Machine -xmsset initial Java heap size -xmx set maximum Java heap size -XX:NewSize= set initial Java heap size for the heap space that is created for new objects -XX:MaxNewSize= set maximum Java heap size for the heap space that is created for new objects -XX:PermSize= set the initial size of the permanent generation space -XX:MaxPermSize= set the maximum size of the permanent generation space
總而言之,Java程序的運行離不開Java虛擬機(jī)(JVM)和Java運行時環(huán)境(JRE)的支持。JRE只能執(zhí)行Java程序,而JVM只是Java運行的核心組件之一。JVM為Java程序的運行提供基礎(chǔ),而JRE為開發(fā)人員和計算機(jī)用戶提供Java程序的運行環(huán)境。