JVM 應用問題分析實踐

NO IMAGE

JVM最直白的說法是:Java程式執行的容器 包含的關係為 JDK JRE JVM,JVM本質上也是一種規範。

這次的講解主要是Oracle hotspot展開講解,JVM的內部結構分為5塊:第一塊為類載入器 它主要的能力是載入java 編譯器生產class檔案、校驗及初始化靜態變數,可以看到內部的loading、linking和inial;第二塊為最長關注的模組,執行時的資料區,該模組是核心執行的區域,主要包括方法區、棧區、pc暫存器及本地方法棧;第三塊為執行引擎,主要負責執行位元組碼及垃圾回收;第四塊為本地呼叫介面,負責與本機方法庫互動,並提供執行引擎所需的本機庫;第五塊為計算機本地的方法庫。

執行時的資料區中的棧區、堆區、方法區應該是重點關注的。棧區主要存放的是基本的資料型別和物件的引用,所以記憶體分配不需要太大(256M),堆區也成為資料區,主要存放的是物件例項化的資料,方法區主要是用來存放靜態變數、成員變數和類資訊。