定義java
Java Virtual Machine - java程序的運行容器(java二進制字節碼的運行容器)程序員
好處面試
一次編寫,處處運行數組
當咱們編寫Java代碼時,JVM爲咱們屏蔽了二進制字節碼與底層操做系統的差別,採用解釋的方式來運行二進制字節碼,使得這份java代碼能夠在不一樣的操做系統運行,實現代碼的平臺無關性。工具
自動內存管理,垃圾回收功能學習
數組下標越界檢查開發工具
若是不進行數組下標越界檢查,向數組寫入數據時,就會致使數據寫入不屬於數組的地方,而讀取數據時,就會讀取到別的地方的數據。優化
多態操作系統
編譯時多態(方法重載)code
相同方法名,具體調用方法在編譯時由參數列表肯定
運行時多態(方法重寫)
動態多態性是一個在運行時解析對重寫方法的調用的過程,編譯時是父類類型,運行時是子類類型。
當運行時調用引用變量的方法時,其方法行爲老是表現出子類方法的行爲特徵,而不是父類方法的行爲特徵,這就表現出:相同類型的變量調用同一個方法時表現出不一樣的行爲特徵,這就是多態。
比較
JVM、JRE、JDK比較
JVM
java虛擬機,爲屏蔽java二進制字節碼與底層操做系統的差別JRE
java運行時環境,JVM + 基礎類庫,基礎類庫爲咱們提供一些經常使用的類,如IO類等。JDK
java開發工具包, JVM + 基礎類庫 + 編譯工具 面試
理解底層的實現原理
中高級程序員的必備技能
項目上線後出現內存溢出或者運行緩慢,掌握JVM後就能更好的排查解決問題
歡迎關注公衆號,後續文章更新通知,一塊兒討論技術問題 。