摘要:運行時數(shù)據(jù)區(qū)域程序計數(shù)器程序計數(shù)器是一塊較小的內(nèi)存空間,可以看做是當(dāng)前線程所執(zhí)行的字節(jié)碼的行號指示器。唯一一個不會出現(xiàn)情況的區(qū)域。
運行時數(shù)據(jù)區(qū)域 程序計數(shù)器
程序計數(shù)器 (Program Counter Register) 是一塊較小的內(nèi)存空間,可以看做是當(dāng)前線程所執(zhí)行的字節(jié)碼的行號指示器。在虛擬機的概念模型(各種虛擬機可能會通過更高效的字節(jié)碼去實現(xiàn))里,字節(jié)碼解釋器工作時就是通過改變這個計算器的值來選取 下一條需要執(zhí)行的字節(jié)碼指令,分支、循環(huán)、跳轉(zhuǎn)、異常處理、線程恢復(fù)等基礎(chǔ)功能都需要依賴這個計數(shù)器來完成。
每條線程都需要有一個獨立的程序計數(shù)器,各條線程之間計數(shù)器互不影響,獨立存儲。線程私有。
線程執(zhí)行的是一個java方法,計數(shù)器記錄的是正在執(zhí)行的虛擬機字節(jié)碼制定地址。
線程執(zhí)行的是一個native方法,這個計數(shù)器值則為空(undefined)。
唯一一個不會出現(xiàn)OutOfMemoryError情況的區(qū)域。
java虛擬機棧java虛擬機棧 (Java Virtual Machine Stacks) 描述的是java方法執(zhí)行的內(nèi)存模型,每個方法在執(zhí)行的同時都會創(chuàng)建一個棧幀用于存儲局部變量表、操作數(shù)棧、動態(tài)連接、方法出口等。
線程私有,生命周期與線程相同
如果線程請求的棧深度大于虛擬機所允許的深度,將拋出StackOverflowError異常
如果虛擬機??梢詣討B(tài)擴展,如果擴展時無法申請到足夠的內(nèi)存,則將拋出OutOfMemoryError異常
本地方法棧與java虛擬機棧所發(fā)揮的作用非常相似,本地方法棧 (Native Method Stack) 是為虛擬機所使用的native方法服務(wù)。
java堆一般來說,java堆 (Java Heap) 是java虛擬機所管理的內(nèi)存最大的一塊,此區(qū)域的唯一目的就是存放對象實例,幾乎所有的對象實例都在這里分配內(nèi)存。
所有線程共享的內(nèi)存區(qū)域
垃圾收集器管理的主要區(qū)域(GC堆),還可以細(xì)分為新生代和老年代或者Eden空間、From Survivor空間和to Survivor空間
java堆可以處于物理上不連續(xù)的內(nèi)存空間中,只要邏輯上連續(xù)的即可(可通過-Xmx和-Xms控制大小)
方法區(qū)方法區(qū)(Method Area)是用于存儲已被虛擬機加載的類信息、常量、靜態(tài)變量、即時編譯器編譯后的代碼等數(shù)據(jù)。
線程共享
運行時常量運行時常量是方法區(qū)的一部分,Class文件中除了有類的版本、字段、方法、接口等描述信息外,還有一項信息是常量池,用于存放編譯期生成的各種字面量和符號引用,這部分內(nèi)容將在類加載后進入方法區(qū)的運行時常量池中存放。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/66974.html
摘要:什么是網(wǎng)絡(luò)上的兩個程序通過一個雙向的通訊連接實現(xiàn)數(shù)據(jù)的交換,這個雙向鏈路的一端稱為一個。通常用來實現(xiàn)客戶方和服務(wù)方的連接。 什么是Socket 網(wǎng)絡(luò)上的兩個程序通過一個雙向的通訊連接實現(xiàn)數(shù)據(jù)的交換,這個雙向鏈路的一端稱為一個Socket。Socket通常用來實現(xiàn)客戶方和服務(wù)方的連接。Socket是TCP/IP協(xié)議的一個十分流行的編程界面,一個Socket由一個IP地址和一個端口號唯一確...
摘要:什么是網(wǎng)絡(luò)上的兩個程序通過一個雙向的通訊連接實現(xiàn)數(shù)據(jù)的交換,這個雙向鏈路的一端稱為一個。通常用來實現(xiàn)客戶方和服務(wù)方的連接。 什么是Socket 網(wǎng)絡(luò)上的兩個程序通過一個雙向的通訊連接實現(xiàn)數(shù)據(jù)的交換,這個雙向鏈路的一端稱為一個Socket。Socket通常用來實現(xiàn)客戶方和服務(wù)方的連接。Socket是TCP/IP協(xié)議的一個十分流行的編程界面,一個Socket由一個IP地址和一個端口號唯一確...
摘要:版本從注解開始由于在本人實際應(yīng)用中使用的是注解配置,也更傾向于了解的整個實現(xiàn),而不僅僅是關(guān)鍵實現(xiàn)。于是本篇源碼解析,將會從注解開始。那么,便從的源碼引用開始吧。的引用先從源碼中找有引用到,用來判斷是否有該注解的代碼。 版本 spring 5.0.8.BUILD-SNAPSHOT aspectjweaver 1.8.13 從注解開始 由于在本人實際應(yīng)用中使用的是注解配置AOP,也更傾...
閱讀 1682·2019-08-30 12:51
閱讀 670·2019-08-29 17:30
閱讀 3707·2019-08-29 15:17
閱讀 862·2019-08-28 18:10
閱讀 1373·2019-08-26 17:08
閱讀 2184·2019-08-26 12:16
閱讀 3446·2019-08-26 11:47
閱讀 3510·2019-08-23 16:18