目錄
4.運作時資料區4.1程式計數器(PC寄存器)
作用:PC寄存器用來存儲指向下一條指令的位址,即将要執行的指令代碼。由執行引擎讀取下一條指令。
它是一塊很小的記憶體空間,幾乎可以忽略不計。也是運作速度最快的存儲區域。
在JVM規範中,每個線程都有它自己的程式計數器,是線程私有的,生命周期與線程的生命周期保持一緻。
任何時間一個線程都隻有一個方法在執行,也就是所謂的目前方法。程式計數器會存儲目前線程正在執行的Java方法的JVM指令位址;如果是在執行native方法,則是未指定值(undefind)。
它是程式控制流的訓示器,分支、循環、跳轉、異常處理、線程恢複等基礎功能都需要依賴這個計數器來完成。
位元組碼解釋器工作時就是通過改變這個計數器的值來選取下一條需要執行的位元組碼指令。
它是唯一一個在java虛拟機規範中沒有規定任何OutOtMemoryError情況的區域。
執行指令:
使用程式計數器存儲位元組碼指令位址作用:
為什麼程式計數器被設定為線程私有的: