JVM学习01总体概述
生活随笔
收集整理的這篇文章主要介紹了
JVM学习01总体概述
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
JVM的整體結構
HotSpot VM是目前市面上高性能虛擬機的代表作之一,它采用解釋器與即時編譯器并存的架構
Java編譯器輸入的指令流基本上是一種基于棧的指令架構,另外一種指令集架構則是基于寄存器的指令集架構。
一、指令集構建
同樣執行2+3這樣的邏輯操作,其2指令分別如下:
1.基于棧的計算流程
然后進行反編譯
這里有個改正,我們進行反編譯的語句應該為:javap -v 要反編譯的文件(在上面對應的是StackStruTest.class)
和dos命令窗下一樣,先找到代碼路徑,然后
2.基于寄存器的計算流程
棧:
跨平臺性、指令集小、指令多;執行性能比寄存器差
二、JVM的生命周期
- 虛擬機的啟動
通過引導類加載器(bootstrap class loader)創建一個初始類(initial class)來完成的,這個類就是由虛擬機的具體實現指定的 - 虛擬機的執行
執行一個所謂的Java程序的時候,真真正正在執行的是一個叫做Java虛擬機的進程 - 虛擬機的退出
有如下幾種情況:
程序正常執行結束
程序在執行過程中遇到了異常或者錯誤而異常中止
由于操作系統出現錯誤而導致Java虛擬機進程中止
由于線程調用Runtime類或System類的exit方法,或Runtime類的halt方法,并且Java安全管理器也允許這次exit或halt操作
除此之外,JNI(Java native interface)規范描述了用JNI Invocation API來加載或卸載Java虛擬機時,Java虛擬機的退出情況
總結
以上是生活随笔為你收集整理的JVM学习01总体概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数据算法岗位面试题
- 下一篇: python会计实证研究_描述性统计分析