JVM内存结构|程序计数器
JVM
Java虛擬機,java程序的運行環境。
Java語言的可移植性正是建立在Java虛擬機的基礎上。任何平臺只要裝有針對于該平臺的Java虛擬機,字節碼文件(.class)就可以在該平臺上運行。
優點:
 一次編譯,到處運行
 自動內存管理,垃圾回收功能
 數組下標越界檢查
 多態(可擴展性)
程序計數器(寄存器)
程序計數器(Program Counter Register):是一塊較小的內存空間,它可以看作是當前線程所執行的字節碼的行號指示器。
字節碼解釋器工作時就是通過改變這個計數器的值來選取下一條需要執行的字節碼指令。程序的分支、循環、跳轉、異常處理、線程恢復等基礎功能都需要依賴這個計數器來完成。
由于 Java 虛擬機的多線程是通過線程輪流切換并分配處理器執行時間的方式來實現的,在任何一個確定的時刻,一個處理器都只會執行一條線程中的命令。因此,為了線程切換后能恢復到正確的執行位置,每條線程都需要有一個獨立的程序計數器,各線程之間的計數器互不影響,獨立存儲,我們程這塊內存區域為“線程私有”的內存。
此區域是唯一 一個虛擬機規范中沒有規定任何OutOfMemoryError 情況的區域。
 2. 特點:
- 是線程私有的
- 不會存在內存溢出
運行一個java程序:
先將一個.java程序編譯成一個.class文件,也就是二進制字節碼文件,該文件人類是沒辦法讀懂的,可以經過反編譯將二進制字節碼文件轉換成我們可以看懂的
javap命令(對字節碼的一種解析或者是對class文件進行反匯編)
javap -v XXX.class解析的結果是對這段代碼詳細的執行流程,記錄了程序運行的指令以及下一條指令的地址。
總結
以上是生活随笔為你收集整理的JVM内存结构|程序计数器的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 苹果8p电池容量多少毫安
- 下一篇: 守望先锋源氏怎么玩(《守望先锋》归来官方
