日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Java程序計數(shù)器刨根問底,大部分程序員都收藏起來了

 [[273204]]

創(chuàng)新互聯(lián)于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務公司,擁有項目成都網(wǎng)站設計、成都做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元桓仁做網(wǎng)站,已為上家服務,為桓仁各地企業(yè)和個人服務,聯(lián)系電話:028-86922220

JAVA虛擬機管理的內(nèi)存區(qū)域圖

1.什么是程序計數(shù)器?

程序計數(shù)器是當前線程正在執(zhí)行的字節(jié)碼的地址。程序計數(shù)器是線程隔離的,每一個線程在工作的時候都有一個獨立的計數(shù)器。

2.字節(jié)碼的執(zhí)行原理

編譯后的字節(jié)碼在沒有經(jīng)過JIT(實時編譯器)編譯前,是通過字節(jié)碼解釋器進行解釋執(zhí)行。其執(zhí)行原理為:字節(jié)碼解釋器讀取內(nèi)存中的字節(jié)碼,按照順序讀取字節(jié)碼指令,讀取一個指令就將其翻譯成固定的操作,根據(jù)這些操作進行分支,循環(huán),跳轉(zhuǎn)等動作。

3.程序計數(shù)器的作用?

從字節(jié)碼的執(zhí)行原理來看,單線程的情況下程序計數(shù)器是可有可無的。因為即使沒有程序計數(shù)器的情況下,程序會按照指令順序執(zhí)行下去,即使遇到了分支跳轉(zhuǎn)這樣的流程也會按照跳轉(zhuǎn)到指定的指令處繼續(xù)順序執(zhí)行下去,是完全能夠保證執(zhí)行順序的。

但是現(xiàn)實中程序往往是多線程協(xié)作完成任務的。JVM的多線程是通過CPU時間片輪轉(zhuǎn)來實現(xiàn)的,某個線程在執(zhí)行的過程中可能會因為時間片耗盡而掛起。當它再次獲取時間片時,需要從掛起的地方繼續(xù)執(zhí)行。在JVM中,通過程序計數(shù)器來記錄程序的字節(jié)碼執(zhí)行位置。程序計數(shù)器具有線程隔離性,每個線程擁有自己的程序計數(shù)器

4.程序計數(shù)器的特點

(1)程序計數(shù)器具有線程隔離性

(2)程序計數(shù)器占用的內(nèi)存空間非常小,可以忽略不計

(3)程序計數(shù)器是java虛擬機規(guī)范中唯一一個沒有規(guī)定任何OutofMemeryError的區(qū)域

(4)程序執(zhí)行的時候,程序計數(shù)器是有值的,其記錄的是程序正在執(zhí)行的字節(jié)碼的地址

(5)執(zhí)行native本地方法時,程序計數(shù)器的值為空。原因是native方法是java通過jni調(diào)用本地C/C++庫來實現(xiàn),非java字節(jié)碼實現(xiàn),所以無法統(tǒng)計


網(wǎng)站標題:Java程序計數(shù)器刨根問底,大部分程序員都收藏起來了
當前地址:http://www.dlmjj.cn/article/djiocio.html