成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

java內(nèi)存區(qū)域初窺

Anchorer / 3313人閱讀

摘要:運(yùn)行時(shí)數(shù)據(jù)區(qū)域程序計(jì)數(shù)器程序計(jì)數(shù)器是一塊較小的內(nèi)存空間,可以看做是當(dāng)前線程所執(zhí)行的字節(jié)碼的行號(hào)指示器。唯一一個(gè)不會(huì)出現(xiàn)情況的區(qū)域。

運(yùn)行時(shí)數(shù)據(jù)區(qū)域

程序計(jì)數(shù)器

程序計(jì)數(shù)器 (Program Counter Register) 是一塊較小的內(nèi)存空間,可以看做是當(dāng)前線程所執(zhí)行的字節(jié)碼的行號(hào)指示器。在虛擬機(jī)的概念模型(各種虛擬機(jī)可能會(huì)通過(guò)更高效的字節(jié)碼去實(shí)現(xiàn))里,字節(jié)碼解釋器工作時(shí)就是通過(guò)改變這個(gè)計(jì)算器的值來(lái)選取 下一條需要執(zhí)行的字節(jié)碼指令,分支、循環(huán)、跳轉(zhuǎn)、異常處理、線程恢復(fù)等基礎(chǔ)功能都需要依賴這個(gè)計(jì)數(shù)器來(lái)完成。

每條線程都需要有一個(gè)獨(dú)立的程序計(jì)數(shù)器,各條線程之間計(jì)數(shù)器互不影響,獨(dú)立存儲(chǔ)。線程私有。

線程執(zhí)行的是一個(gè)java方法,計(jì)數(shù)器記錄的是正在執(zhí)行的虛擬機(jī)字節(jié)碼制定地址。

線程執(zhí)行的是一個(gè)native方法,這個(gè)計(jì)數(shù)器值則為空(undefined)。

唯一一個(gè)不會(huì)出現(xiàn)OutOfMemoryError情況的區(qū)域。

java虛擬機(jī)棧

java虛擬機(jī)棧 (Java Virtual Machine Stacks) 描述的是java方法執(zhí)行的內(nèi)存模型,每個(gè)方法在執(zhí)行的同時(shí)都會(huì)創(chuàng)建一個(gè)棧幀用于存儲(chǔ)局部變量表、操作數(shù)棧、動(dòng)態(tài)連接、方法出口等。

線程私有,生命周期與線程相同

如果線程請(qǐng)求的棧深度大于虛擬機(jī)所允許的深度,將拋出StackOverflowError異常

如果虛擬機(jī)??梢詣?dòng)態(tài)擴(kuò)展,如果擴(kuò)展時(shí)無(wú)法申請(qǐng)到足夠的內(nèi)存,則將拋出OutOfMemoryError異常

本地方法棧

與java虛擬機(jī)棧所發(fā)揮的作用非常相似,本地方法棧 (Native Method Stack) 是為虛擬機(jī)所使用的native方法服務(wù)。

java堆

一般來(lái)說(shuō),java堆 (Java Heap) 是java虛擬機(jī)所管理的內(nèi)存最大的一塊,此區(qū)域的唯一目的就是存放對(duì)象實(shí)例,幾乎所有的對(duì)象實(shí)例都在這里分配內(nèi)存。

所有線程共享的內(nèi)存區(qū)域

垃圾收集器管理的主要區(qū)域(GC堆),還可以細(xì)分為新生代和老年代或者Eden空間、From Survivor空間和to Survivor空間

java堆可以處于物理上不連續(xù)的內(nèi)存空間中,只要邏輯上連續(xù)的即可(可通過(guò)-Xmx和-Xms控制大小)

方法區(qū)

方法區(qū)(Method Area)是用于存儲(chǔ)已被虛擬機(jī)加載的類信息、常量、靜態(tài)變量、即時(shí)編譯器編譯后的代碼等數(shù)據(jù)。

線程共享

運(yùn)行時(shí)常量

運(yùn)行時(shí)常量是方法區(qū)的一部分,Class文件中除了有類的版本、字段、方法、接口等描述信息外,還有一項(xiàng)信息是常量池,用于存放編譯期生成的各種字面量和符號(hào)引用,這部分內(nèi)容將在類加載后進(jìn)入方法區(qū)的運(yùn)行時(shí)常量池中存放。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/66974.html

相關(guān)文章

  • 初窺Socket:與自己聊次天

    摘要:什么是網(wǎng)絡(luò)上的兩個(gè)程序通過(guò)一個(gè)雙向的通訊連接實(shí)現(xiàn)數(shù)據(jù)的交換,這個(gè)雙向鏈路的一端稱為一個(gè)。通常用來(lái)實(shí)現(xiàn)客戶方和服務(wù)方的連接。 什么是Socket 網(wǎng)絡(luò)上的兩個(gè)程序通過(guò)一個(gè)雙向的通訊連接實(shí)現(xiàn)數(shù)據(jù)的交換,這個(gè)雙向鏈路的一端稱為一個(gè)Socket。Socket通常用來(lái)實(shí)現(xiàn)客戶方和服務(wù)方的連接。Socket是TCP/IP協(xié)議的一個(gè)十分流行的編程界面,一個(gè)Socket由一個(gè)IP地址和一個(gè)端口號(hào)唯一確...

    Y3G 評(píng)論0 收藏0
  • 初窺Socket:與自己聊次天

    摘要:什么是網(wǎng)絡(luò)上的兩個(gè)程序通過(guò)一個(gè)雙向的通訊連接實(shí)現(xiàn)數(shù)據(jù)的交換,這個(gè)雙向鏈路的一端稱為一個(gè)。通常用來(lái)實(shí)現(xiàn)客戶方和服務(wù)方的連接。 什么是Socket 網(wǎng)絡(luò)上的兩個(gè)程序通過(guò)一個(gè)雙向的通訊連接實(shí)現(xiàn)數(shù)據(jù)的交換,這個(gè)雙向鏈路的一端稱為一個(gè)Socket。Socket通常用來(lái)實(shí)現(xiàn)客戶方和服務(wù)方的連接。Socket是TCP/IP協(xié)議的一個(gè)十分流行的編程界面,一個(gè)Socket由一個(gè)IP地址和一個(gè)端口號(hào)唯一確...

    蘇丹 評(píng)論0 收藏0
  • Spring AOP 源碼初窺(二) 從注解開(kāi)始

    摘要:版本從注解開(kāi)始由于在本人實(shí)際應(yīng)用中使用的是注解配置,也更傾向于了解的整個(gè)實(shí)現(xiàn),而不僅僅是關(guān)鍵實(shí)現(xiàn)。于是本篇源碼解析,將會(huì)從注解開(kāi)始。那么,便從的源碼引用開(kāi)始吧。的引用先從源碼中找有引用到,用來(lái)判斷是否有該注解的代碼。 版本 spring 5.0.8.BUILD-SNAPSHOT aspectjweaver 1.8.13 從注解開(kāi)始 由于在本人實(shí)際應(yīng)用中使用的是注解配置AOP,也更傾...

    Amio 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Anchorer

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<