摘要:虛擬機(jī)規(guī)范介紹虛擬機(jī)介紹虛擬機(jī)的結(jié)構(gòu)文件格式數(shù)據(jù)類型原始類型和值引用類型和值運(yùn)行時(shí)數(shù)據(jù)區(qū)幀對(duì)象的表示浮點(diǎn)算術(shù)特殊方法異常指令集匯總類庫(kù)公有設(shè)計(jì),私有實(shí)現(xiàn)編譯虛擬機(jī)格式示例使用常量局部變量和控制結(jié)構(gòu)算術(shù)訪問(wèn)運(yùn)行時(shí)常量池更多控制示例接收參數(shù)調(diào)用
Java虛擬機(jī)規(guī)范
Java SE 12 Edition
介紹Java虛擬機(jī)介紹
Java虛擬機(jī)的結(jié)構(gòu)class文件格式
數(shù)據(jù)類型
原始類型和值
引用類型和值
運(yùn)行時(shí)數(shù)據(jù)區(qū)
幀
對(duì)象的表示
浮點(diǎn)算術(shù)
特殊方法
異常
指令集匯總
類庫(kù)
公有設(shè)計(jì),私有實(shí)現(xiàn)
編譯Java虛擬機(jī)格式示例
使用常量、局部變量和控制結(jié)構(gòu)
算術(shù)
訪問(wèn)運(yùn)行時(shí)常量池
更多控制示例
接收參數(shù)
調(diào)用方法
使用類實(shí)例
數(shù)組
編譯開關(guān)
操作數(shù)堆棧上的操作
拋出和處理異常
編譯finally
同步
注解
模塊
class文件格式ClassFile結(jié)構(gòu)
名稱
描述符
常量池
字段
方法
屬性
格式檢查
Java虛擬機(jī)代碼的約束
class文件的驗(yàn)證
Java虛擬機(jī)的局限性
加載、鏈接和初始化運(yùn)行時(shí)常量池
Java虛擬機(jī)啟動(dòng)
創(chuàng)建和加載
鏈接
初始化
綁定原生方法實(shí)現(xiàn)
Java虛擬機(jī)退出
Java虛擬機(jī)指令集假設(shè):“必須”的含義
保留的操作碼
虛擬機(jī)錯(cuò)誤
指令描述的格式
指令
操作碼助記符文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/73500.html
摘要:虛擬機(jī)有個(gè)一加載機(jī)制,叫做雙親委派模型。擴(kuò)展類加載器擴(kuò)展類加載器的父類的加載器是啟動(dòng)類加載器。驗(yàn)證驗(yàn)證的目的就是需要符合虛擬機(jī)的規(guī)范。虛擬機(jī)會(huì)通過(guò)加鎖的方式確保方法只執(zhí)行一次。 引言 上一篇文章談到Java運(yùn)行的流程,其中有一環(huán)是類加載。今天就繼續(xù)深入探討JVM如何加載虛擬機(jī)。首先JVM加載類的一般流程分三步:·加載·鏈接·初始化那么是否全部Java類都是這樣三步走的方式加載呢?我們可...
摘要:最終形成可以被虛擬機(jī)最直接使用的類型的過(guò)程就是虛擬機(jī)的類加載機(jī)制。即重寫一個(gè)類加載器的方法驗(yàn)證驗(yàn)證是連接階段的第一步,這一階段的目的是為了確保文件的字節(jié)流中包含的信息符合當(dāng)前虛擬機(jī)的要求,并且不會(huì)危害虛擬機(jī)自身的安全。 《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐(第二版》讀書筆記與常見(jiàn)相關(guān)面試題總結(jié) 本節(jié)常見(jiàn)面試題(推薦帶著問(wèn)題閱讀,問(wèn)題答案在文中都有提到): 簡(jiǎn)單說(shuō)說(shuō)類加載過(guò)...
摘要:程序計(jì)數(shù)器程序計(jì)數(shù)器是一塊較小的內(nèi)存空間,它的作用可以看做是當(dāng)前線程所執(zhí)行的字節(jié)碼的行號(hào)指示器。它的主要缺點(diǎn)有兩個(gè)一個(gè)是效率問(wèn)題,標(biāo)記和清除過(guò)程的效率都不 Jvm 相關(guān) 類加載機(jī)制 本段參考 http://www.importnew.com/2374... 類加載概念 類加載指的是將類的.class文件中的二進(jìn)制數(shù)據(jù)讀入到內(nèi)存中,將其放在運(yùn)行時(shí)數(shù)據(jù)區(qū)的方法區(qū)內(nèi),然后在堆區(qū)創(chuàng)建一個(gè)ja...
摘要:加載階段虛擬機(jī)規(guī)范中并沒(méi)有進(jìn)行強(qiáng)制約束,這點(diǎn)可以交給虛擬機(jī)的具體實(shí)現(xiàn)來(lái)自由把握。由于這個(gè)類加載器是中的方法的返回值,所以一般也稱它為系統(tǒng)類加載器。如果父類加載失敗,拋出異常后,再調(diào)用自己的方法進(jìn)行加載。 類從被加載到虛擬機(jī)內(nèi)存中開始,到卸載出內(nèi)存為止,它的整個(gè)生命周期包括:加載(Loading)、驗(yàn)證(Verification)、準(zhǔn)備(Preparation)、解析(Resolutio...
摘要:加載階段在類的加載階段,虛擬機(jī)需要完成以下件事情通過(guò)一個(gè)類的全限定名來(lái)獲取定義此類的二進(jìn)制字節(jié)流。驗(yàn)證階段驗(yàn)證是連接階段的第一步,這一階段的目的是為了確保文件的字節(jié)流中包含的信息符合當(dāng)前虛擬機(jī)的要求,并且不會(huì)危害虛擬機(jī)自身的安全。 注:本篇文章中的內(nèi)容是根據(jù)《深入理解Java虛擬機(jī)--JVM高級(jí)特性與最佳實(shí)踐》而總結(jié)的,如有理解錯(cuò)誤,歡迎大家指正! 虛擬機(jī)把描述類的數(shù)據(jù)從Class文件...
閱讀 743·2023-04-25 19:28
閱讀 1401·2021-09-10 10:51
閱讀 2400·2019-08-30 15:55
閱讀 3421·2019-08-26 13:55
閱讀 3011·2019-08-26 13:24
閱讀 3337·2019-08-26 11:46
閱讀 2764·2019-08-23 17:10
閱讀 1428·2019-08-23 16:57