内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Java虛擬機的內存分區(qū)和用途-創(chuàng)新互聯(lián)

Java虛擬機所管理的內存將會包括以下幾個運行時數(shù)據(jù)區(qū)域:

成都創(chuàng)新互聯(lián)是一家集網站建設,新蔡企業(yè)網站建設,新蔡品牌網站建設,網站定制,新蔡網站建設報價,網絡營銷,網絡優(yōu)化,新蔡網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。

1、程序計數(shù)器

2、Java虛擬機棧

3、本地方法棧

4、Java堆

5、方法區(qū)

下面分別介紹各個內存分區(qū)及它們的作用:

1、程序計數(shù)器

(PC)程序計數(shù)器是一塊較小的內存分區(qū),你可以把它看做當前線程所執(zhí)行的字節(jié)碼的指示器。

在虛擬機的概念模型里,字節(jié)碼指示器工作時,就是通過改變計數(shù)器的值來選擇下一條需要執(zhí)行的字節(jié)碼指令。

程序技術器為線程私有,每個線程都有它們各自的程序計數(shù)器,這樣再多線程的情況下,線程之間的來回切換,也能正確找到上次切換時執(zhí)行的位置。(線程隔離的,線程安全的)

如果線程正在執(zhí)行的是一個Java方法,那么程序計數(shù)器記錄的是當前線程正在執(zhí)行的字節(jié)碼指令的地址;如果線程正在執(zhí)行的是一個native方法,則計數(shù)器值為空。

此內存區(qū)域是唯一一個Java虛擬機規(guī)范中沒有規(guī)定任何內存泄漏OutOfMemoryError(OOM)情況的區(qū)域。

2、Java虛擬機棧

虛擬機棧也為線程私有的,它的生命周期與線程相同;

虛擬機??梢钥醋鍪荍ava方法執(zhí)行的內存模型:每個方法執(zhí)行的同時都會創(chuàng)建一個棧幀用于存儲局部變量表、操作數(shù)棧、動態(tài)鏈接、方法出口等信息。一個Java方法從調用到執(zhí)行完的過程,就對應著一個棧幀從虛擬機棧入棧到出棧的過程;

局部變量表中存放了編譯期可知的基本數(shù)據(jù)類型、對象引用、returnAddress類型(指向了一條字節(jié)碼指令的地址);

在虛擬機棧中可能會出現(xiàn)兩種異常:StackOverflowError和OutOfMemory。

StackOverflowError:如果線程請求的棧深度大于當前虛擬機所允許的深度,會拋出該異常;

OutOfMemory:如果虛擬機??梢詣討B(tài)擴展,當擴展時無法申請到足夠的內存,會拋出該異常;

3、本地方法棧

本地方法棧類似與虛擬機棧,它們不同之處在于,虛擬機棧是為虛擬機執(zhí)行的Java方法服務,而本地方法棧是為虛擬機使用到的Native方法服務;

在本地方法棧可能會出現(xiàn)兩種異常:StackOverflowError和OutOfMemory

4、Java堆

Java堆是被所有線程共享的一塊區(qū)域,它也是Java虛擬機管理的內存中大的一塊,它在虛擬機啟動時創(chuàng)建;

Java堆唯一的目的就是存放對象實例
,幾乎所有的對象實例的都在這里分配內存;

Java堆是垃圾收集器管理的主要區(qū)域,因此很多時候也被稱為GC堆;

Java堆可以處于物理上不連續(xù)的內存空間中,只要邏輯上連續(xù)即可,在實現(xiàn)時既可以是固定大小也可以是可擴展的,如果堆中沒有內存完成實例分配,并且堆也無法再擴展時,將會拋出OutOfMemory異常;

5、方法區(qū)(運行時常量池)

方法區(qū)也是內存共享的一塊區(qū)域,它用于存放已被虛擬機加載的類信息、常量、靜態(tài)變量、即時編譯器編譯后的代碼等數(shù)據(jù);

方法區(qū)中,垃圾收集比較少見,但并不是不進行GC,這個區(qū)域的回收目標主要是針對常量池的回收和對類型的卸載

方法區(qū)類似于Java堆,不要連續(xù)的內存和可以選擇固定大小或者可擴展。它還可以選擇不實現(xiàn)垃圾收集;

當方法區(qū)無法滿足內存分配需求時,會拋出OutOfMemory異常;

方法區(qū)中還存在一個運行時常量池(無關乎線程安全與否)(因為其數(shù)據(jù)不能更改),常量池用于存放編譯期生成的各種字面量和符號引用,它具有動態(tài)性,不要求常量一定只有編譯期才能產生,運行期間也可能將新的常量放入池中;

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網頁題目:Java虛擬機的內存分區(qū)和用途-創(chuàng)新互聯(lián)
網頁地址:http://www.rwnh.cn/article8/cejeop.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供定制網站網站收錄、用戶體驗、云服務器App開發(fā)、網站內鏈

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網站建設
新龙县| 阜宁县| 盐亭县| 林周县| 大英县| 丰宁| 成武县| 始兴县| 崇仁县| 米泉市| 苍梧县| 岑溪市| 什邡市| 沅江市| 江山市| 盐亭县| 博野县| 新蔡县| 宁陕县| 淳化县| 深水埗区| 修水县| 黄龙县| 巴彦县| 安图县| 石景山区| 名山县| 土默特右旗| 慈溪市| 开鲁县| 枝江市| 都江堰市| 凤城市| 新绛县| 甘德县| 闻喜县| 谷城县| 绥阳县| 淮滨县| 黑山县| 邯郸市|