1. 程式人生 > >Java程式設計技術之淺析JVM記憶體

Java程式設計技術之淺析JVM記憶體

### JVM >JVM->Java Virtual Machine:Java虛擬機器,是一種用於計算裝置的規範,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能來實現的。 ![file](https://img2020.cnblogs.com/other/1778572/202006/1778572-20200608161741197-1010927794.jpg) 基本認知: * 1.JVM是用於執行Java程式碼的假象計算機,主要有一套位元組碼指令集,一組暫存器,一個棧,一個垃圾回收,堆 和 一個儲存方法域。 * 2.JVM執行在作業系統之上,與硬體沒有直接的互動。 Java程式執行過程: ![file](https://img2020.cnblogs.com/other/1778572/202006/1778572-20200608161741599-547943637.jpg) * 1.編譯->原始檔由編譯器編譯成位元組碼[ByteCode] >Java 原始檔—->編譯器—->位元組碼檔案 * 2.執行->位元組碼由java虛擬機器解釋執行 >位元組碼檔案—->JVM—->機器碼 Java類的載入步驟: * 1.載入->主要是完成3個階段的提交: >通過類的全限定名來獲取定義類的二進位制位元組流 >將位元組流所代表的靜態儲存結構轉化為方法區的執行時資料結構 >在記憶體中生成一個代表這個類的java.lang.Class物件,作為方法區這個類的各種資料的訪問入口。 * 2.驗證->四個階段的檢驗動作: >檔案格式驗證 >元資料驗證 >位元組碼驗證 >符號引用驗證 * 3.準備->為類變數(static)分配記憶體並設定類變數的初始值。 * 4.解析->將常量池內的符號引用轉為直接的引用 * 5.初始化->按照static塊和static變數在檔案中的出現順序,