欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

java程序計(jì)數(shù)器的介紹和作用

這篇文章主要講解了“java程序計(jì)數(shù)器的介紹和作用”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“java程序計(jì)數(shù)器的介紹和作用”吧!

十載專注成都網(wǎng)站制作,成都企業(yè)網(wǎng)站建設(shè),個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識(shí)、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于成都企業(yè)網(wǎng)站建設(shè),高端網(wǎng)頁(yè)制作,對(duì)銅雕雕塑等多個(gè)行業(yè),擁有豐富的網(wǎng)站營(yíng)銷經(jīng)驗(yàn)。

程序計(jì)數(shù)器

介紹

JVM中的程序計(jì)數(shù)寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存儲(chǔ)指令相關(guān)的現(xiàn)場(chǎng)信息。CPU只有把數(shù)據(jù)裝載到寄存器才能夠運(yùn)行。這里,并非是廣義上所指的物理寄存器,或許將其翻譯為PC計(jì)數(shù)器(或指令計(jì)數(shù)器)會(huì)更加貼切(也稱為程序鉤子),并且也不容易引起一些不必要的誤會(huì)。JVM中的PC寄存器是對(duì)物理PC寄存器的一種抽象模擬。

java程序計(jì)數(shù)器的介紹和作用

作用

PC寄存器用來(lái)存儲(chǔ)指向下一條指令的地址,也即將要執(zhí)行的指令代碼。由執(zhí)行引擎讀取下一條指令。

java程序計(jì)數(shù)器的介紹和作用

  • 它是一塊很小的內(nèi)存空間,幾乎可以忽略不記。也是運(yùn)行速度最快的存儲(chǔ)區(qū)域。

  • 在JVM規(guī)范中,每個(gè)線程都有它自己的程序計(jì)數(shù)器,是線程私有的,生命周期與線程的生命周期保持一致。

  • 任何時(shí)間一個(gè)線程都只有一個(gè)方法在執(zhí)行,也就是所謂的當(dāng)前方法。程序計(jì)數(shù)器會(huì)存儲(chǔ)當(dāng)前線程正在執(zhí)行的Java方法的JVM指令地址;或者,如果是在執(zhí)行native方法,則是未指定值(undefined)。

  • 它是程序控制流的指示器,分支、循環(huán)、跳轉(zhuǎn)、異常處理、線程恢復(fù)等基礎(chǔ)功能都需要依賴這個(gè)計(jì)數(shù)器來(lái)完成。

  • 字節(jié)碼解釋器工作時(shí)就是通過(guò)改變這個(gè)計(jì)數(shù)器的值來(lái)選取下一條需要執(zhí)行的字節(jié)碼指令。

  • 它是唯一一個(gè)在Java虛擬機(jī)規(guī)范中沒(méi)有規(guī)定任何OutotMemoryError情況的區(qū)域。

代碼演示

我們首先寫一個(gè)簡(jiǎn)單的代碼

public class PCRegisterTest {
    public static void main(String[] args) {
        int i = 10;
        int j = 20;
        int k = i + j;
    }
}

然后將代碼進(jìn)行編譯成字節(jié)碼文件,我們?cè)俅尾榭?,發(fā)現(xiàn)在字節(jié)碼的左邊有一個(gè)行號(hào)標(biāo)識(shí),它其實(shí)就是指令地址,用于指向當(dāng)前執(zhí)行到哪里。

0: bipush        10
2: istore_1
3: bipush        20
5: istore_2
6: iload_1
7: iload_2
8: iadd
9: istore_3
10: return

通過(guò)PC寄存器,我們就可以知道當(dāng)前程序執(zhí)行到哪一步了 

java程序計(jì)數(shù)器的介紹和作用

兩個(gè)常見(jiàn)問(wèn)題

1 使用PC寄存器存儲(chǔ)字節(jié)碼指令地址有什么用呢?

同 為什么使用PC寄存器記錄當(dāng)前線程的執(zhí)行地址呢?

因?yàn)镃PU需要不停的切換各個(gè)線程,這時(shí)候切換回來(lái)以后,就得知道接著從哪開(kāi)始繼續(xù)執(zhí)行。

JVM的字節(jié)碼解釋器就需要通過(guò)改變PC寄存器的值來(lái)明確下一條應(yīng)該執(zhí)行什么樣的字節(jié)碼指令。

java程序計(jì)數(shù)器的介紹和作用

2 PC寄存器為什么被設(shè)定為私有的?

  • 我們都知道所謂的多線程在一個(gè)特定的時(shí)間段內(nèi)只會(huì)執(zhí)行其中某一個(gè)線程的方法,CPU會(huì)不停地做任務(wù)切換,這樣必然導(dǎo)致經(jīng)常中斷或恢復(fù),如何保證分毫無(wú)差呢?為了能夠準(zhǔn)確地記錄各個(gè)線程正在執(zhí)行的當(dāng)前字節(jié)碼指令地址,最好的辦法自然是為每一個(gè)線程都分配一個(gè)PC寄存器,這樣一來(lái)各個(gè)線程之間便可以進(jìn)行獨(dú)立計(jì)算,從而不會(huì)出現(xiàn)相互干擾的情況。

  • 由于CPU時(shí)間片輪限制,眾多線程在并發(fā)執(zhí)行過(guò)程中,任何一個(gè)確定的時(shí)刻,一個(gè)處理器或者多核處理器中的一個(gè)內(nèi)核,只會(huì)執(zhí)行某個(gè)線程中的一條指令。

  • 這樣必然導(dǎo)致經(jīng)常中斷或恢復(fù),如何保證分毫無(wú)差呢?每個(gè)線程在創(chuàng)建后,都會(huì)產(chǎn)生自己的程序計(jì)數(shù)器和棧幀,程序計(jì)數(shù)器在各個(gè)線程之間互不影響。

java程序計(jì)數(shù)器的介紹和作用

CPU時(shí)間片

  • CPU時(shí)間片即CPU分配給各個(gè)程序的時(shí)間,每個(gè)線程被分配一個(gè)時(shí)間段,稱作它的時(shí)間片。

  • 在宏觀上:俄們可以同時(shí)打開(kāi)多個(gè)應(yīng)用程序,每個(gè)程序并行不悖,同時(shí)運(yùn)行。

  • 但在微觀上:由于只有一個(gè)CPU,一次只能處理程序要求的一部分,如何處理公平,一種方法就是引入時(shí)間片,每個(gè)程序輪流執(zhí)行。

并行:vs 串行

并發(fā):?jiǎn)魏?交替執(zhí)行多個(gè)線程的命令

java程序計(jì)數(shù)器的介紹和作用

感謝各位的閱讀,以上就是“java程序計(jì)數(shù)器的介紹和作用”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)java程序計(jì)數(shù)器的介紹和作用這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

分享名稱:java程序計(jì)數(shù)器的介紹和作用
網(wǎng)址分享:http://aaarwkj.com/article28/gpidcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、移動(dòng)網(wǎng)站建設(shè)、定制開(kāi)發(fā)、小程序開(kāi)發(fā)手機(jī)網(wǎng)站建設(shè)、軟件開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
中文日本强暴人妻另类视频| 亚洲精品成人综合色在线| 亚洲成人av在线蜜桃| 亚洲和欧洲一码二码区视频| 亚洲激情欧美日韩精品| 欧美人与性禽动交情品| 99精品午夜福利在线| 国产精品中文字幕日韩在线| 国产综合一区在线观看97| 高级会所口爆视频在线播放视频| 欧美亚洲午夜精品久久久| 亚洲精品深夜福利视频| 成人午夜激情在线观看| 一区二区三区特黄色片| 哈昂~不要啊在线观看| 久久亚洲精品1区2区| 后入动漫视频在线观看| 欧美亚洲另类在线日韩国产| 欧美日韩国产成人一区| 未满18禁止观看在线| 欧美精品一区影片在线观看| 综合久久久精品国产亚洲av| 手机看片黄色福利视频91| 97国产精品视频在线观看| 欧美精品久久久久九九九| 18禁成年大片免费网站| 国产熟女系列一区二区三区| 三级黄色片免费久久久| 国产亚洲高清一区二区| 国产精品区一区二区三区| 日韩电影在线观看二区| 日本道二区视频中文字幕| 色哟哟亚洲精品一区二区| 中文字幕乱码人妻一二三| 尤物视频精品在线观看| 91麻豆精品国产综合久久久| 国产大神91一区二区三区| 91麻豆精品在线观看| 亚洲精品一区二区三区三州| 日本在线观看精品综合| 亚洲最大五月六月丁香婷婷|