Java虛擬機(jī)(Java Virtual Machine,JVM)是Java語言的核心和基礎(chǔ),是運(yùn)行Java字節(jié)碼的虛擬計算機(jī)。很多人說“Java跨平臺的原因就是Java虛擬機(jī)”,這句話說得沒錯,Java虛擬機(jī)提供了平臺無關(guān)性的底層支持,使得Java程序可以在不同的操作系統(tǒng)上運(yùn)行。
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }
Java虛擬機(jī)存在的目的是為了讓編譯好的Java字節(jié)碼能夠在不同的平臺上運(yùn)行,因為Java代碼編譯之后不是直接轉(zhuǎn)換成機(jī)器碼而是轉(zhuǎn)換成字節(jié)碼(bytecode)。Java虛擬機(jī)就是一個解釋器,它把字節(jié)碼解釋成機(jī)器碼再運(yùn)行,這樣就可以在不同的操作系統(tǒng)上運(yùn)行。
Java的線程是Java虛擬機(jī)中最重要的特性之一,也是Java語言中最常用的關(guān)鍵字之一。Java虛擬機(jī)有自己的線程調(diào)度機(jī)制,開發(fā)者只需要通過編寫Java代碼,使用Java核心API中的線程類庫就可以實現(xiàn)多線程編程。
public class MyThread extends Thread { public void run() { System.out.println("This is my thread."); } } public class Main { public static void main(String[] args) { MyThread thread = new MyThread(); thread.start(); } }
Java虛擬機(jī)中的線程具有優(yōu)先級、中斷、同步等特性,可以方便實現(xiàn)復(fù)雜的多線程編程。線程的使用可以提高程序性能、減少響應(yīng)時間、提高程序可拓展性。