jvm筆記1
虛擬機器 virtual machine
虛擬計算機 ,分為系統虛擬機器和程式虛擬機器
- visual Box ,VMare
- java虛擬機器 專門為執行單個計算機程式而設計,
調優目的
減少gc full gc
java 虛擬機器
擁有獨立執行的機制,二進位制的執行環境
java 平臺上的多語言混合程式設計
特點
一次編譯 處處執行
自動記憶體管理
自動垃圾回收
棧(執行緒) 區域性變數 一個方法對應一個棧幀記憶體區域
執行時資料記憶體模型
方法區 ()
常量 物件指向堆
靜態變數
類資訊
堆
物件
區域 8 1 1
eden區
survivor
老年代
gc 垃圾收集
gc觸發stw
老年代滿了:FULL GC
OOM
stw
暫停執行緒 標記垃圾
GC Roots :可達性分析演算法
- 執行緒棧的本地變數
- 靜態變數
- 本地方法棧的變數
物件
物件頭
例項資料
對齊填充
程式計數器 (執行緒私有)
本地方法棧(執行緒私有)
與其他語言互動介面
棧 (執行緒私有)
執行緒
程式計數器
棧
棧幀 方法
區域性變數表 物件指標指向堆的物件
運算元棧
動態連結: 記憶體位置
方法出口:返回位置
java 執行流程
java編譯器輸入的指令流基於棧的指令集架構
跨平臺、指令集小、指令多:執行效能比暫存器差
機制
物件動態年齡判斷
長期存活的物件將進入老年代
老年代空間分配擔保機制
jvm生命週期
虛擬機器啟動
引導類載入器(bootstrap class loader)建立一個初始類(initial class),這個類由虛擬機器具體實現指定
執行
真真正正執行一個java程式
退出
執行緒呼叫runtime類或system類的exit方法,或runtime類的halt方法,
英語
native 本地
命令
jps 列印程式
javap
thread+ 執行緒
jad +class
javap -v 類
調優工具
arthas
jvisualvm
eg
相關文章
- 筆記:JVM筆記JVM
- JVM筆記【1】-- 執行時資料區JVM筆記
- JVM學習筆記——初識JVMJVM筆記
- JVM學習筆記JVM筆記
- JVM筆記 -- JVM經歷了什麼?JVM筆記
- JVM 學習筆記(五)JVM筆記
- JVM學習筆記-01JVM筆記
- 今日學習JVM筆記JVM筆記
- JVM核心學習筆記JVM筆記
- JVM讀書筆記之OOMJVM筆記OOM
- 溪源的Java筆記—JVMJava筆記JVM
- 深入理解JVM(1)之--JVM記憶體模型JVM記憶體模型
- 物件回收判定與垃圾回收演算法-JVM學習筆記(1)物件演算法JVM筆記
- JVM筆記 -- Java跨平臺和JVM跨語言JVM筆記Java
- JVM讀書筆記之記憶體管理JVM筆記記憶體
- 筆記1筆記
- JVM學習筆記之棧區JVM筆記
- JVM學習筆記---伺服器,JVM效能監控工具JVM筆記伺服器
- JVM學習筆記——自動記憶體管理JVM筆記記憶體
- JVM 深入筆記(3)垃圾標記演算法JVM筆記演算法
- JVM學習筆記(3)---OutOfMemory詳解JVM筆記
- 一次 JVM 調優的筆記JVM筆記
- [jvm-sandbox-repeater 學習筆記][原理說明篇] 1 錄製流程JVM筆記
- Day 1 筆記筆記
- Java筆記1Java筆記
- rxjava筆記(1)RxJava筆記
- JVM記憶體分配機制與回收策略選擇-JVM學習筆記(2)JVM記憶體筆記
- JVM讀書筆記之java記憶體結構JVM筆記Java記憶體
- JVM學習筆記——類載入機制JVM筆記
- JVM學習筆記(4)---垃圾收集器JVM筆記
- jvm學習筆記6:類載入器JVM筆記
- JVM狂神說視訊學習筆記JVM筆記
- java學習筆記-4 JVM垃圾回收(GC)Java筆記JVMGC
- JVM學習筆記——節碼執行引擎JVM筆記
- 學習筆記1筆記
- 學習筆記-1筆記
- 陣列筆記1陣列筆記
- oracle 筆記(續1)Oracle筆記