日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JVM学习01总体概述

發(fā)布時(shí)間:2025/3/15 编程问答 10 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JVM学习01总体概述 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


JVM的整體結(jié)構(gòu)
HotSpot VM是目前市面上高性能虛擬機(jī)的代表作之一,它采用解釋器與即時(shí)編譯器并存的架構(gòu)

Java編譯器輸入的指令流基本上是一種基于棧的指令架構(gòu),另外一種指令集架構(gòu)則是基于寄存器的指令集架構(gòu)。

一、指令集構(gòu)建
同樣執(zhí)行2+3這樣的邏輯操作,其2指令分別如下:
1.基于棧的計(jì)算流程

public class StackStruTest {public static void main(String[] args) {int i=2;int j=3;int k=i+j;} }

然后進(jìn)行反編譯

這里有個改正,我們進(jìn)行反編譯的語句應(yīng)該為:javap -v 要反編譯的文件(在上面對應(yīng)的是StackStruTest.class)
和dos命令窗下一樣,先找到代碼路徑,然后

2.基于寄存器的計(jì)算流程

mov eax, 2 //將eax寄存器的值設(shè)為1 add eax,3 // 使eax寄存器的值加3

棧:
跨平臺性、指令集小、指令多;執(zhí)行性能比寄存器差

二、JVM的生命周期

  • 虛擬機(jī)的啟動
    通過引導(dǎo)類加載器(bootstrap class loader)創(chuàng)建一個初始類(initial class)來完成的,這個類就是由虛擬機(jī)的具體實(shí)現(xiàn)指定的
  • 虛擬機(jī)的執(zhí)行
    執(zhí)行一個所謂的Java程序的時(shí)候,真真正正在執(zhí)行的是一個叫做Java虛擬機(jī)的進(jìn)程
  • 虛擬機(jī)的退出
    有如下幾種情況:
    程序正常執(zhí)行結(jié)束
    程序在執(zhí)行過程中遇到了異?;蛘咤e誤而異常中止
    由于操作系統(tǒng)出現(xiàn)錯誤而導(dǎo)致Java虛擬機(jī)進(jìn)程中止
    由于線程調(diào)用Runtime類或System類的exit方法,或Runtime類的halt方法,并且Java安全管理器也允許這次exit或halt操作
    除此之外,JNI(Java native interface)規(guī)范描述了用JNI Invocation API來加載或卸載Java虛擬機(jī)時(shí),Java虛擬機(jī)的退出情況

總結(jié)

以上是生活随笔為你收集整理的JVM学习01总体概述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。