自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JVM內(nèi)存區(qū)域結(jié)構(gòu):一計(jì)兩棧一堆一區(qū)

云計(jì)算 虛擬化
Java虛擬機(jī)都會(huì)同步創(chuàng)建一個(gè)棧(StackFrame)用于存儲(chǔ)局部變量表、操作數(shù)棧、 動(dòng)態(tài)連接、方法出口等信息。每一個(gè)方法被調(diào)用直至執(zhí)行完畢的過(guò)程,就對(duì)應(yīng)著一個(gè)棧幀在虛擬機(jī)棧中從入棧到出棧的過(guò)程。

[[320318]]

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

  • 一塊較小的內(nèi)存空間。
  • 當(dāng)前線程所執(zhí)行的字節(jié)碼的行號(hào)指示器。

2虛擬機(jī)棧

描述的是Java方法執(zhí)行的線程內(nèi)存模型:每個(gè)方法被執(zhí)行的時(shí)候,Java虛擬機(jī)都會(huì)同步創(chuàng)建一個(gè)棧(StackFrame)用于存儲(chǔ)局部變量表、操作數(shù)棧、 動(dòng)態(tài)連接、方法出口等信息。每一個(gè)方法被調(diào)用直至執(zhí)行完畢的過(guò)程,就對(duì)應(yīng)著一個(gè)棧幀在虛擬機(jī)棧中從入棧到出棧的過(guò)程。

局部變量表(存放)

  • 基本數(shù)據(jù)類型
  • 對(duì)象引用
  • returnAddress類型(指向了一條字節(jié)碼指令的地址)

異常

StackOverflowError:線程請(qǐng)求的棧深度大于虛擬機(jī)所允許的深度

OutOfMemoryError:棧擴(kuò)展時(shí)無(wú)法申請(qǐng)到足夠的內(nèi)存

3本地方法棧

虛擬機(jī)使用到的本地(Native)方法服務(wù)。

4Java堆回收內(nèi)存的角度

新生代、老年代、永久代、Eden空間、From Survivor空間、To Survivor空間。

分配內(nèi)存的角度

所有線程共享的Java堆中可以劃分出多個(gè)線程私有的分配緩沖區(qū)(Thread Local Allocation Buffer,TLAB)。

異常

OutOfMemoryError:沒(méi)有內(nèi)存完成實(shí)例分配, 并且堆也無(wú)法再擴(kuò)展時(shí)

5方法區(qū)

  • 各個(gè)線程共享的內(nèi)存區(qū)域
  • 用于存儲(chǔ)已被虛擬機(jī)加載的類型信息、常量、靜態(tài)變量、即時(shí)編譯器編譯后的代碼緩存等數(shù)據(jù)
  • JDK8將永久代廢棄,相應(yīng)的用元空間MetaSpace

異常

OutOfMemoryError:無(wú)法滿足新的內(nèi)存分配需求時(shí)

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

  • 方法區(qū)的一部分
  • 用于存放編譯期生成的各種字面量與符號(hào)引用, 這部分內(nèi)容將在類加載后存放到方法區(qū)的運(yùn)行時(shí)常量池中

異常

OutOfMemoryError:當(dāng)常量池?zé)o法再申請(qǐng)到內(nèi)存

7直接內(nèi)存

不是虛擬機(jī)運(yùn)行時(shí)數(shù)據(jù)區(qū)的一部分

本機(jī)直接內(nèi)存的分配不會(huì)受到Java堆大小的限制 

 

總結(jié):

 

JVM內(nèi)存區(qū)域結(jié)構(gòu)包含:程序計(jì)數(shù)器、虛擬機(jī)棧、本地方法棧、Java堆、方法區(qū)??梢院?jiǎn)記為:一計(jì)兩棧一堆一區(qū),方便記憶。

方法區(qū)包含運(yùn)行時(shí)常量池,還有直接內(nèi)存(NIO更常見(jiàn))。

需要了解到每個(gè)區(qū)域是主要作用是什么,這樣才能更加牢固的掌握。

 

責(zé)任編輯:武曉燕 來(lái)源: 搬運(yùn)工來(lái)架構(gòu)
相關(guān)推薦

2023-12-26 12:37:08

內(nèi)存模型堆排序

2024-11-26 08:31:36

2020-07-12 15:29:58

Windows工具微軟

2016-09-22 16:09:36

大數(shù)據(jù)PB級(jí)NoSQL

2023-07-31 07:48:43

Java內(nèi)存虛擬機(jī)

2019-12-12 11:19:33

JVM內(nèi)存線程

2013-08-14 17:47:48

企業(yè)2.0企業(yè)社交網(wǎng)絡(luò)

2010-09-25 12:54:24

JVM內(nèi)存

2011-11-23 10:01:43

虛擬化軟件許可IIS

2023-11-01 08:07:42

.NETC#

2013-03-29 11:09:17

JVM內(nèi)存

2013-04-08 10:49:53

當(dāng)我們變成一堆數(shù)字大數(shù)據(jù)時(shí)代

2020-08-27 21:36:50

JVM內(nèi)存泄漏

2023-05-31 14:08:44

視覺(jué)功能信號(hào)想象

2023-11-06 07:21:13

內(nèi)存結(jié)構(gòu)Jvm

2010-09-27 08:38:49

JVM堆JVM棧

2023-11-05 12:05:35

JVM內(nèi)存

2010-03-31 14:20:23

Oracle內(nèi)存結(jié)構(gòu)

2020-03-02 08:33:35

高質(zhì)量可維護(hù)代碼

2017-06-03 15:22:26

windowsInsider微軟
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)