學(xué)習(xí)JVM當(dāng)然要看官方文檔呀,以下地址可以下載各個版本的官方文檔
Java SE Specifications?
1、JVM的架構(gòu)模型Java編譯器輸入的指令流基本上是一種基于棧的指令集架構(gòu),另外一種指令集架構(gòu)則是基于寄存器的指令集架構(gòu)。
具體來說:這兩種架構(gòu)之間的區(qū)別:
基于棧式架構(gòu)的特點(diǎn):
1、設(shè)計和實(shí)現(xiàn)更簡單,適用于資源受限的系統(tǒng);
2、避開了寄存器的分配難題,使用零地址指令方式分配。
3、指令流中的指令大部分是零地址指令,其執(zhí)行過程依賴于操作棧。指令集更小,編譯器容易實(shí)現(xiàn)。
4、不需要硬件支持,可移植性更好,更好實(shí)現(xiàn)跨平臺。
基于寄存器架構(gòu)的特點(diǎn):
2、JVM的生命周期1、典型的應(yīng)用是x86的二進(jìn)制指令集,比如傳統(tǒng)的PC以及Android的Davlik虛擬機(jī)。
2、指令集架構(gòu)則完全依賴硬件,可移植性差;
3、性能優(yōu)秀和執(zhí)行更高效;
4、花費(fèi)更少的指令去完成一項(xiàng)操作;
5、在大部分情況下,基于寄存器架構(gòu)的指令集往往都以一地址指令,二地址指令和三地址指令為主,而基于棧式架構(gòu)的指令集卻是以零地址指令為主。?
虛擬機(jī)的啟動
Java虛擬機(jī)的啟動是通過引導(dǎo)類加載器(bootstrap class loader)創(chuàng)建一個初始類(initial class)來完成的,這個類是由虛擬機(jī)的具體實(shí)現(xiàn)指定的。
虛擬機(jī)的執(zhí)行
一個運(yùn)行中的Java虛擬機(jī)有著一個清晰的任務(wù),執(zhí)行Java程序,程序開始執(zhí)行時它才運(yùn)行,程序結(jié)束時他就停止。執(zhí)行一個所謂的Java程序的時候,真真正正在執(zhí)行的是一個叫做Java虛擬機(jī)的進(jìn)程。
虛擬機(jī)的退出
有如下幾種情況:
程序正常執(zhí)行結(jié)束;程序在執(zhí)行過程中遇到了異?;蝈e誤而異常終止;某線程調(diào)用Runtime類或System類的exit方法,或Runtime類的halt方法,并且Java安全管理器也允許這次exit或halt操作;
除此之外,JNI(Java Native Interface)規(guī)范描述了用JNI Invocation API來加載或卸載Java虛擬機(jī)時,Java虛擬機(jī)退出情況。
為學(xué)日益,為道日損。損之又損,以至于無為。無為而無不為。取天下常以無事,及其有事,不足以取天下矣。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
文章題目:JVM基礎(chǔ)(一)-創(chuàng)新互聯(lián)
本文路徑:http://jinyejixie.com/article4/depcoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、移動網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計、小程序開發(fā)、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容