Java知識學習——什麼是JVM?

對於Java學習者來說,JVM不會陌生,從一開始用Java編寫的Hello World開始,JVM就與我們時時刻刻相關聯。

什麼是JVM?Java Virtual Machine指的是Java程序的運行環境,用Java編寫的源代碼,經過Javac編譯成Class字節碼文件,然後經過程序加載到JVM中即可運行,確切的說是Java二進制字節碼的運行環境。

JVM是Java一次編寫到處運行的基礎,Java語言是跨平臺的,正是JVM屏蔽了字節碼和底層操作系統之間的差異,對外提供了一致的運行環境,JVM就可用解釋的方式來執行二進制字節碼文件來達到平臺的無關性。

JVM的內存自動管理,提供了垃圾自動回收機制,雖然垃圾回收機制在很多語言中都存在,但是Java在最開始與C、C++之間相互競爭的時候,而這兩者都沒有相應的內存回收機制,需要自己手動的去釋放內存,如果編碼不當,也很有可能造成內存的泄露。而JVM就大大的減輕了我們的負擔,減少了出錯的機率。

當然JVM也還有其他的優點,比如數組下標越界檢查,你可能會說Java對於這種的檢查不就是數組下標越界拋出異常,可是拋異常和數組的新元素覆蓋了程序的其他部分相比較,後者更爲嚴重,C就沒有數組下標越界的檢查,程序員必須自己去檢查數組是否越界,如果一不小心越界,可能會覆蓋其他代碼的內存。還有多態,多態是面向對象的基石,正是有了多態纔可以讓程序可擴展。

JVM經常與JRE,JDK相互混淆,下面就是幾個之間的區分。

JVM可以幫我們理解底層的實現原理,才能理解自動拆裝箱是怎麼實現的?動態代理是怎麼一回事?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章