日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

JAVA虛擬機管理的內存區域圖

Java程序計數器刨根問底,大部分程序員都收藏起來了

 

1.什么是程序計數器?

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

2.字節碼的執行原理

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

3.程序計數器的作用?

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

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

4.程序計數器的特點

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

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

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

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

(5)執行native本地方法時,程序計數器的值為空。原因是native方法是java通過jni調用本地C/C++庫來實現,非java字節碼實現,所以無法統計

分享到:
標簽:計數器 Java
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定