亚洲 欧洲 日韩 综合色天使,久久国产Av无码一区二区老太,人妻醉酒被下药迷昏带到诊所 ,亚州老熟女A片AV色欲小说

程序計數器pc的功能,程序計數器pc的功能和特點?

程序計數器定義

程序計數器全稱為 Program Counter Register (寄存器)

作用

用于記錄下一條jvm指令的執(zhí)行地址,分支、循環(huán)、跳轉、異常、線程恢復等都依賴于計數器

程序計數器pc的功能,程序計數器pc的功能和特點?

這是一段控制臺輸出的java代碼,編譯后各個階段的情況,主要看二進制字節(jié)碼部分。
當然這里的二進制字節(jié)碼并不是大家所熟知的計算機的0和1,它并不能直接給到cpu執(zhí)行,它需要通過解釋器解釋成一條機器碼,機器碼就可以交給cpu執(zhí)行它了。 程序計數器的作用是記住下一條jvm指令的執(zhí)行地址,從上面圖中可以看出jvm指令前面都會有一個數字,可以把這個數字理解為一個指令對于的地址。

當這些指令被加載到虛擬機后執(zhí)行順序:
1. 先得到 0:getstatic 指令
2. 交給解釋器
3. 解釋器解釋成機器碼
4. 機器碼交給cpu,cpu執(zhí)行

與此同時它會把下一條指令的地址 3地址 放入我們的程序計數器,等第一條指令完全執(zhí)行完后,解釋器就會到程序計數器中取到下一條指令的地址,去找下一條指令找到后重復剛才的流程。

注意:
當解釋器去程序計數器中取這個 3地址 的時候會把下一條指令 4地址 放入程序計數器中。
在物理上實現程序計數器是在一個叫做寄存器來實現的,寄存器可以說是cpu中讀取速度最快的部分。

特點

線程私有

java程序支持多線程運行,多線程運行時cpu調度器組件會給線程分配一個時間片。
假如給線程一分配一個時間片,在時間片內它的代碼沒有執(zhí)行完,它就會把線程一的狀態(tài)執(zhí)行一個暫存,切換到線程二中去,線程二執(zhí)行完后又會切換到線程一。切換回去的時候會去程序計數器中拿到之前最后執(zhí)行的代碼地址,程序計數器綁定自己線程。

不會存在內存溢出。

在jvm規(guī)范中已經規(guī)定了程序計數器部分不會內存溢出

本文內容由互聯網用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現本站有涉嫌抄襲侵權/違法違規(guī)的內容, 請發(fā)送郵件至 sumchina520@foxmail.com 舉報,一經查實,本站將立刻刪除。
如若轉載,請注明出處:http://www.qjsdgw.cn/138717.html