国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

java空間(jvm元空間與堆和棧的區(qū)別?)

jvm元空間與堆和棧的區(qū)別?1內(nèi)存分配策略1)靜態(tài)存儲:在編譯時確定每個數(shù)據(jù)目標在運行時的存儲空間需求(代碼中沒有不可變的數(shù)據(jù)結(jié)構(gòu),沒有嵌套遞歸)。2)堆棧存儲:編譯時數(shù)據(jù)需求未知,運行時確定模塊入口

java空間(jvm元空間與堆和棧的區(qū)別?)

jvm元空間與堆和棧的區(qū)別?

1內(nèi)存分配策略

1)靜態(tài)存儲:在編譯時確定每個數(shù)據(jù)目標在運行時的存儲空間需求(代碼中沒有不可變的數(shù)據(jù)結(jié)構(gòu),沒有嵌套遞歸)。

2)堆棧存儲:編譯時數(shù)據(jù)需求未知,運行時確定模塊入口,動態(tài)分配存儲。當你在運行時進入一個程序模塊時,你必須知道程序模塊需要的數(shù)據(jù)區(qū)的大小,然后才能分配它的內(nèi)存。

3)堆存儲:編譯時和運行時無法確定模塊入口,動態(tài)分配。

2Java內(nèi)存模型中的堆和棧

1)它們之間的聯(lián)系:引用對象和數(shù)組時,棧中定義的變量存儲的是堆中目標的第一個地址。

2)兩者的區(qū)別:

(1)管理模式:棧自動釋放(對應(yīng)方法完成),棧需要GC(垃圾收集機制)。

(2)空間大?。憾汛笥跅!?/p>

(3)碎片:堆棧產(chǎn)生的碎片比堆產(chǎn)生的碎片要小得多。

(4)分配方式:Stack支持靜態(tài)和動態(tài)分配,而heap只能動態(tài)分配。

(5)效率:堆比棧效率低。

(6)棧是線程私有的,堆是線程共享的。