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

2021-02-22    分類: 網站建設

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程序計數器刨根問底,大部分程序員都收藏起來了
網站URL:http://m.kartarina.com/news/102358.html

成都網站建設公司_創新互聯,為您提供云服務器動態網站虛擬主機面包屑導航標簽優化網站維護

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都seo排名網站優化
主站蜘蛛池模板: 欧美性生交xxxxx无码影院∵| 中日韩亚洲人成无码网站| 亚洲人片在线观看天堂无码 | 日韩精品无码专区免费播放| 熟妇无码乱子成人精品| 中文字幕精品三区无码亚洲| 亚洲人成无码网站久久99热国产| 亚洲AV无码国产丝袜在线观看| 无码精品国产VA在线观看| 成年男人裸j照无遮挡无码| 蜜芽亚洲av无码精品色午夜| heyzo专区无码综合| 午夜福利无码不卡在线观看| 亚洲精品无码日韩国产不卡?V| 亚洲av无码专区在线观看下载 | 午夜寂寞视频无码专区| 午夜人性色福利无码视频在线观看| 日产无码1区2区在线观看| 国产AV一区二区三区无码野战| 无码一区二区三区AV免费| 人妻少妇AV无码一区二区| 热の无码热の有码热の综合| 人妻aⅴ中文字幕无码| av潮喷大喷水系列无码| 无码丰满少妇2在线观看| 无码人妻久久久一区二区三区 | 红桃AV一区二区三区在线无码AV| 成人免费午夜无码视频| 亚洲AV无码成人网站久久精品大 | 免费无码肉片在线观看| 亚洲av无码不卡久久| 日韩精品专区AV无码| 中文有无人妻vs无码人妻激烈| 中文精品无码中文字幕无码专区| 亚洲国产精品无码久久青草| 日韩乱码人妻无码中文视频| 精品无码久久久久久国产| 色综合色国产热无码一| 无码免费又爽又高潮喷水的视频 | 久久AV高清无码| 免费无码VA一区二区三区|