五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

JVM體系結(jié)構(gòu)與工作方式

2021-01-04 11:27 作者:每天一個(gè)禿頂小技巧  | 我要投稿

《深入分析Java Web 技術(shù)內(nèi)幕》 第七章 VM體系結(jié)構(gòu)與工作方式 讀書(shū)筆記

  • 7.1 JVM體系結(jié)構(gòu)

何謂JVM

JVM(Java Virtual Machine) 通過(guò)模擬一個(gè)計(jì)算機(jī)來(lái)達(dá)到一個(gè)計(jì)算機(jī)所具有的計(jì)算功能

  1. 指令集:計(jì)算機(jī)所能識(shí)別的機(jī)器語(yǔ)言的命令集合

  2. 計(jì)算單元:能識(shí)別并且控制指令執(zhí)行的功能模塊

  3. 尋址方式:地址的位數(shù)、最小地址和最大地址范圍,以及地址的運(yùn)行規(guī)則

  4. 寄存器:包括操作數(shù)寄存器、變址寄存器、控制寄存器等的定義、數(shù)量和使用方式

  5. 存儲(chǔ)單元:能夠存儲(chǔ)操作數(shù)寄存器和保存操作結(jié)構(gòu)的單元

指令集與匯編語(yǔ)言:

  1. 指令集:可以直接執(zhí)行的二進(jìn)制代碼;

  2. 匯編語(yǔ)言:與二進(jìn)制代碼對(duì)應(yīng)的的助記符;

JVM 體系結(jié)構(gòu)詳解

1、類加載器:在JVM啟動(dòng)時(shí)或者在類運(yùn)行時(shí)將需要的class加載到JVM中

2、執(zhí)行引擎:負(fù)責(zé)執(zhí)行class文件中包含的字節(jié)碼指令集,相當(dāng)于cpu

3、內(nèi)存區(qū):將內(nèi)存劃分成若干個(gè)區(qū)以模擬實(shí)際機(jī)器上的存儲(chǔ)、記錄和調(diào)度功能模塊

4、本地方法調(diào)用:調(diào)用C或者C++實(shí)現(xiàn)的本地方法代碼返回結(jié)果

  • 7.2 JVM工作機(jī)制

機(jī)器如何執(zhí)行代碼,一般程序運(yùn)行到執(zhí)行的過(guò)程:

源代碼——>預(yù)處理——>編譯器——>匯編程序——>目標(biāo)代碼——>鏈接器——>可執(zhí)行程序

基本運(yùn)算分解為二進(jìn)制位運(yùn)算,這些運(yùn)算又通過(guò)指令來(lái)完成,而指令的核心目的是確定需要運(yùn)算的種類(操作碼)和運(yùn)算需要的數(shù)據(jù)(操作數(shù)),以及從哪里來(lái)(寄存器或棧)獲取操作數(shù)、將運(yùn)算結(jié)果放到什么地方(寄存器或棧)

JVM為何選擇基于棧的架構(gòu)

所有操作數(shù)必須先入棧,再根據(jù)指令中的操作碼選擇從棧頂彈出若干個(gè)元素進(jìn)行計(jì)算后壓入棧中。JVM中操作數(shù)可以存放在每一個(gè)棧頂中的一個(gè)本地變量集中,即每個(gè)方法調(diào)用時(shí)就會(huì)給這個(gè)方法分配一個(gè)本地變量集,這個(gè)變量集在編譯時(shí)已經(jīng)確定,所以操作數(shù)入棧可以直接是常量入?;驈谋镜刈兞考腥∫粋€(gè)變量壓入棧中。

理由:1、跨平臺(tái)2、java源文件編譯成class文件,編譯器一般采用以棧為基礎(chǔ)的結(jié)構(gòu)向連接器或者優(yōu)化器傳遞這種編譯的中間結(jié)果,JVM可以作為連接器使用,也可作為優(yōu)化器使用3、為了指令集的緊湊性(常量池)

執(zhí)行引擎的架構(gòu)設(shè)計(jì)

每當(dāng)創(chuàng)建一個(gè)新的線程,JVM會(huì)為這個(gè)線程創(chuàng)建一個(gè)Java棧,同時(shí)會(huì)為這個(gè)線程分配一個(gè)PC寄存器,并且這個(gè)PC寄存器會(huì)指向這個(gè)線程的第一行可執(zhí)行代碼。每當(dāng)調(diào)用一個(gè)新的方法時(shí)會(huì)在這個(gè)棧上創(chuàng)建一個(gè)新的棧幀數(shù)據(jù)結(jié)構(gòu),以便保留此方法的元信息。

最后:小編 整理啦很多的有關(guān)于jvm集合的知識(shí)點(diǎn),其中包含有:Map、List、Set、以及其Iterator,Comparator,Cloneable等相關(guān)的知識(shí)!


有需要的朋友,幫忙點(diǎn)贊關(guān)注三連?。≡谠u(píng)論下方發(fā)送:【666】
100%回復(fù)你哦!


JVM體系結(jié)構(gòu)與工作方式的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
平邑县| 高邮市| 司法| 武穴市| 普洱| 虞城县| 辽源市| 子长县| 淮滨县| 达拉特旗| 仙居县| 乌鲁木齐县| 六枝特区| 靖西县| 德钦县| 灵丘县| 通江县| 郁南县| 汉川市| 元谋县| 遂平县| 阳新县| 磐安县| 龙胜| 墨竹工卡县| 怀化市| 侯马市| 神农架林区| 马尔康县| 光山县| 新巴尔虎左旗| 关岭| 镇宁| 汶上县| 宣城市| 阜新| 陕西省| 高淳县| 普兰店市| 台江县| 周口市|