java虛擬機--->>程序計數器
程序計數器是一塊較小的內存空間,他可以看做是當前線程所執行的行號指示器。在虛擬機的概念模型(僅是概念模型,各種虛擬機可能會通過一些更高效率的方式去實現)裏,字節碼解釋器工作室就是通過改變這個計數器的值來選取下一條需要執行的字節碼指令,分支,循環,跳轉,異常處理,線程恢復等基礎功能都需要依賴這個計數器來完成。
由於java虛擬機的多線程是通過線程輪流切換並分配處理器執行時間的方式來實現的,在任何一個確定的時刻,一個處理器(對於多核處理器來說是一個內核)都只是會執行一條線程中的指令。因此,為了線程切換後能恢復到正確的執行位置,每條線程都需要一個獨立的程序計數器,各條線程之間計數器互不影響嗎,獨立存儲,我們稱這類內存區域為“線程私有的內存”。
如果線程正在執行的是一個java方法,這個計數器記錄的是正在執行的虛擬機字節碼指令的地址,如果正在執行的是native方法,那麽這個計數器值則為空,次內存區域是唯一一個在java虛擬機規範中沒有規定OutOfMemoryError情況的區域!
java虛擬機--->>程序計數器
相關推薦
java虛擬機--->>程序計數器
計數 程序 異常 改變 基礎 java 我們 時間 情況 程序計數器是一塊較小的內存空間,他可以看做是當前線程所執行的行號指示器。在虛擬機的概念模型(僅是概念模型,各種虛擬機可能會通過一些更高效率的方式去實現)裏,字節碼解釋器工作室就是通過改變這個計數器的值來選取下一條
Java程序員從笨鳥到菜鳥之(九十二)深入java虛擬機(一)——java虛擬機底層結構詳解
行為 計數 驗證 堆棧 第一個 精度 amp 語言 eight 本文來自:曹勝歡博客專欄。轉載請註明出處:http://blog.csdn.net/csh624366188 歡迎關註微信賬號:java那些事:csh624366188.每天一篇java相關的文
作為程序員必須掌握的Java虛擬機中的22個重難點
傳統 keep 進行 功能 ati 線程數 搜索 name tps Java虛擬機一直是比較重要的知識點,是Java高級開發必會的。本文為你總結了關於JVM的22個重點、難點,圖文並茂的向你展示和JVM有關的重點知識。全文共7000字左右。 概念 虛擬機:指以軟件的方式模擬
初次嘗試java虛擬機調試-啟動HSDB
java 虛擬機 hsdb 本人最近正在學習java虛擬機,而HSDB是學習java虛擬機的必經之路,於是今天嘗試下了HSDB的調試。 首先借鑒了知乎大牛R大的文章: 借HSDB來探索HotSpot VM的運行時數據,而本文章的意義在於幫助和我一樣想學習java虛擬機但平時過於依
jvm java虛擬機 新生代的配置
方法區 tools images 轉載 影響 tool 引用 blog avi 版權聲明:本文為博主原創文章,未經博主允許不得轉載。不經過允許copy,講追究法律責任,歡迎加入我們的學習提升群523988350,可以相互交流 目錄(?)[+] 111 -Xmn參數
Java虛擬機之Java內存區域
器) 輪換 .com 虛擬 解釋器 控制 虛擬機 關心 分配 Java虛擬機運行時數據區域 ⑴背景:對於c/c++來說程序員來說,需要經常去關心內存運行情況,但對於Java程序員,只需要在必要時關心內存運行情況,這是因為在Java虛擬機自動內存管理機制的幫助下,不再Ja
Java虛擬機學習-對象的創建
加載過程 定位 分配內存 沒有 大小 空閑 過程 引用 java 虛擬機遇到一條new指令時,首先將去檢查這個指令的參數是否能在常量池中定位到一個類的符號引用,並且檢查這個符號引用代表的類是否已經被加載、解析和初始化過。如果沒有,必須先執行相應類的加載過程。 類加載
Java虛擬機性能管理神器 - VisualVM(2) 入門
light 文章 bar tom 位置 title 列表 jdk8 div 一下載VisualVM 最新版本下載 歷史版本下載 二啟動VisualVM 三VisualVM用戶目錄 四VisualVM窗口 1應用程序窗口 2詳情窗口 五VisualVM插件 J
深入理解Java虛擬機- 學習筆記 - 虛擬機類加載機制
支持 pub eth 獲取 事件 必須 string 沒有 字節碼 虛擬機把描述類的數據從Class文件加載道內存,並對數據進行校驗,轉換解析和初始化,最終形成可以被虛擬機直接使用的Java類型,這就是虛擬機的類加載機制。在Java裏,類型的加載、連接和初始化過程都是在程序
轉深入Java虛擬機 之四:類加載機制
method jre 聲明 常量 資源 inittest java開發 啟動 由於 轉載請註明出處:http://blog.csdn.net/ns_code/article/details/17881581 類加載過程 類從被加載到虛擬機內存中開始,到卸載出內存
【深入Java虛擬機】之八:Java垃圾收集機制
狀態 nio 得到 man tsp ngs fin 純粹 概念 轉載請註明出處:http://blog.csdn.net/ns_code/article/details/18076173 對象引用 Java中的垃圾回收一般是在Java堆中進行,因為堆中幾乎存
【深入Java虛擬機】之七:Javac編譯與JIT編譯
p s ots 基本 關鍵字 目前 關註 script 和數 語言 轉載請註明出處:http://blog.csdn.net/ns_code/article/details/18009455 編譯過程 不論是物理機還是虛擬機,大部分的程序代碼從開始編譯到最終轉化
JVM運行時數據區--深入理解Java虛擬機 讀後感
出棧 很好 棧幀 最大 出錯 生命周期 所有 img 就會 程序計數器 程序計數器是線程私有的區域,很好理解嘛~,每個線程當然得有個計數器記錄當前執行到那個指令。占用的內存空間小,可以把它看成是當前線程所執行的字節碼的行號指示器。如果線程在執行Java方法
重讀《深入理解Java虛擬機》
-xmx 垃圾收集 劃分 tac 棧內存 列表 進行 nbsp 申請 一、Java虛擬機內存區域如何劃分 1、Java虛擬機內存區域的劃分 區域名稱 作用(用途) 類型 特點 虛擬機規定異常情況 其他說明 1 程序計數器 指示當前正在執行的字節碼指
自制Java虛擬機(四)-對象、new、invokespecial
utf pool tar 字節 can run 可見 frame 屬性 自制Java虛擬機(四)-對象、new、invokespecial 一、對象的表示 剛開始學Java的時候,圖書館各種教程,書名往往都是“Java面向對象高級編程”,通常作者都會與C++做個比較,列出的
深入理解 Java 虛擬機之學習筆記(1)
over 信息 hotspot 體系 ima 模塊化 介紹 style 創建 本書結構: 從宏觀的角度介紹了整個Java技術體系、Java和JVM的發展歷程、模塊化,以及JDK的編譯 講解了JVM的自動內存管理,包括虛擬機內存區域的劃分原理以及各種內存溢出異常產
深入理解java虛擬機7---線程安全 & 鎖優化
err iou nan gpa egg aik risl cpn hang python%E5%AD%A6%E4%B9%A0%20%20%20%20%20%E5%8F%98%E9%87%8F%E7%9A%84%E6%93%8D%E4%BD%9C%20%E4%B8%8E%20
java虛擬機JVM
服務 方法 pau 堆棧 threads 垃圾 矛盾 ant cells 1.數據類型 java虛擬機中,數據類型可以分為兩類:基本類型和引用類型。基本類型的變量保存原始值,即:它代表的值就是數值本身,而引用類型的變量保存引用值。“引用值”代表了某個對象的引用,而
《Java虛擬機原理圖解》 1.2.3、Class文件裏的常量池具體解釋(下)
and 支持 術語 一個 handle per ret mod make NO9.類中引用到的field字段在常量池中是如何描寫敘述的?(CONSTANT_Fieldref_info, CONSTANT_Name_Type_info) 一般而言。我們在定義
詳細介紹Java虛擬機(JVM)
委托 article log flow 包括 源代碼 filename method 獨立 1. JVM生命周期 啟動。啟動一個Java程序時,一個JVM實例就產生了,任何一個擁有public static void main(String[] args)函數的class