1. 程式人生 > >JVM介紹&自動記憶體管理機制

JVM介紹&自動記憶體管理機制

 

1.介紹JVM(Java Virtual Machine,Java虛擬機器)

     JVM是Java Virtual Machine的縮寫,通常成為java虛擬機器,作為Java可以進行一次編寫,到處執行(Write once, run anywhere)的平臺基礎,由下圖我們可以清晰理出他們的之間的關係,我們可以把 Java程式設計語言、Java虛擬機器、Java API類庫這三部分統稱為JDK(Java Development Kit),JDK是支援 Java 程式開發的最小環境。

 

1.1HotSpot VM

  提到虛擬機器我們不得不會想到 HotSpot VM,它是Sun JDK 和 OpenJDK 中所帶的虛擬機器,也是目前使用最廣的 Java 虛擬機器。它繼承了 Sun 之前兩款商用虛擬機器的有點,也有許多自己新的技術優勢,如它名稱中 HotSpot 指的就是它的熱點程式碼探測技術,它這個能力可以通過執行計數器找出最具有編譯價值的程式碼,然後通知 JIT 編譯器以方法為單位進行編譯。如果一個方法被頻繁呼叫或方法中有效迴圈次數過多,將會分別觸發標準編譯和 OSR(棧上替換) 編譯動作。通過編譯器與直譯器恰當地協同工作,可以在最優化的程式響應時間與最佳執行效能中取得平衡,而無需等待原生代碼輸出才會執行程式,即時編譯的時間壓力也相對減小,這樣有助於引入更多的程式碼優化技術,輸出質量更高的原生代碼

2.自動記憶體管理機制

   下面是對自動記憶體管理機制的總結,我想最好的總結不是應該用文字,而是用圖片,這是我用XMind總結這樣還便於記憶。

 

 

由於Xmind一張圖片太大無法整張上傳所以把圖給切開了,完整圖片在github裡 這是連線https://github.com/a947000098/jvm/blob/master/one.png 精華都在圖裡這篇就這樣 下一篇會出GC收集器的部分