车上玩弄美艳馊子高潮,最新永久免费av无码网站 http://www.qjsdgw.cn Thu, 02 Feb 2023 00:29:18 +0000 zh-Hans hourly 1 https://wordpress.org/?v=6.8.3 http://www.qjsdgw.cn/wp-content/uploads/2022/03/ico.png 計數(shù)器 – V商人 http://www.qjsdgw.cn 32 32 程序計數(shù)器pc的功能,程序計數(shù)器pc的功能和特點? http://www.qjsdgw.cn/138717.html Thu, 02 Feb 2023 00:29:13 +0000 http://www.qjsdgw.cn/?p=138717 程序計數(shù)器定義

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

作用

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

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

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

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

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

特點

線程私有

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

不會存在內存溢出。

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

]]>