Java和虛擬機的關系是非常密切的,可以說是一體的關系。Java作為一門編程語言,最顯著的特點是其平臺無關性。即代碼編譯后生成的是字節碼,而不是特定平臺下的機器語言。而這些字節碼被虛擬機執行,從而實現了平臺無關性。
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }
以上是一個簡單的Java代碼,它被編譯成了字節碼:
public class HelloWorld { public static void main(java.lang.String[]); Code: 0: ldc #16 // String Hello, World! 2: astore_1 3: getstatic #22 // Field java/lang/System.out:Ljava/io/PrintStream; 6: aload_1 7: invokevirtual #28 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 10: return }
這些字節碼被虛擬機加載并執行,而不是直接在特定平臺下的硬件上執行,這樣就實現了平臺無關性。虛擬機運行時的內存管理、垃圾回收、異常處理等都是Java程序員不用再關注的事情。
另外,Java虛擬機也對Java程序的安全性進行了加強,Java程序在虛擬機上運行時,不會直接訪問底層系統資源,而是通過虛擬機間接訪問。從而提高了Java程序的安全性和穩定性。
上一篇css 寬屏模板下載
下一篇vue彈窗顯示隱藏