淺談JVM - 引言

什麼是JVM

  • 定義java

    Java Virtual Machine - java程序的運行容器(java二進制字節碼的運行容器)程序員

  • 好處面試

    • 一次編寫,處處運行數組

      當咱們編寫Java代碼時,JVM爲咱們屏蔽了二進制字節碼與底層操做系統的差別,採用解釋的方式來運行二進制字節碼,使得這份java代碼能夠在不一樣的操做系統運行,實現代碼的平臺無關性。工具

    • 自動內存管理,垃圾回收功能學習

    • 數組下標越界檢查開發工具

      若是不進行數組下標越界檢查,向數組寫入數據時,就會致使數據寫入不屬於數組的地方,而讀取數據時,就會讀取到別的地方的數據。優化

    • 多態操作系統

      編譯時多態(方法重載)code

      相同方法名,具體調用方法在編譯時由參數列表肯定

      運行時多態(方法重寫)

      動態多態性是一個在運行時解析對重寫方法的調用的過程,編譯時是父類類型,運行時是子類類型。

      當運行時調用引用變量的方法時,其方法行爲老是表現出子類方法的行爲特徵,而不是父類方法的行爲特徵,這就表現出:相同類型的變量調用同一個方法時表現出不一樣的行爲特徵,這就是多態。

  • 比較

    JVM、JRE、JDK比較

    • JVM java虛擬機,爲屏蔽java二進制字節碼與底層操做系統的差別
    • JRE java運行時環境,JVM + 基礎類庫,基礎類庫爲咱們提供一些經常使用的類,如IO類等。
    • JDK java開發工具包, JVM + 基礎類庫 + 編譯工具

學習JVM有什麼用

  • 面試

  • 理解底層的實現原理

  • 中高級程序員的必備技能

    項目上線後出現內存溢出或者運行緩慢,掌握JVM後就能更好的排查解決問題

常見JVM

學習路線

  • JVM內存結構
  • GC垃圾回收
  • 類的字節碼結構,編譯器優化
  • 類加載器ClassLoader
  • 執行引擎運行講解及優化

歡迎關注公衆號,後續文章更新通知,一塊兒討論技術問題 。

公衆號二維碼

相關文章
相關標籤/搜索