国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
JVM內(nèi)存區(qū)域劃分Eden Space、Survivor Space、Tenured Gen,Perm Gen解釋

  jvm區(qū)域總體分兩類(lèi),heap區(qū)和非heap區(qū)。heap區(qū)又分:Eden Space(伊甸園)、Survivor Space(幸存者區(qū))、Tenured Gen(老年代-養(yǎng)老區(qū))。 非heap區(qū)又分:Code Cache(代碼緩存區(qū))、Perm Gen(永久代)、Jvm Stack(java虛擬機(jī)棧)、Local Method Statck(本地方法棧)。

HotSpot虛擬機(jī)GC算法采用分代收集算法:

1、一個(gè)人(對(duì)象)出來(lái)(new 出來(lái))后會(huì)在Eden Space(伊甸園)無(wú)憂無(wú)慮的生活,直到GC到來(lái)打破了他們平靜的生活。GC會(huì)逐一問(wèn)清楚每個(gè)對(duì)象的情況,有沒(méi)有錢(qián)(此對(duì)象的引用)啊,因?yàn)镚C想賺錢(qián)呀,有錢(qián)的才可以敲詐嘛。然后富人就會(huì)進(jìn)入Survivor Space(幸存者區(qū)),窮人的就直接kill掉。

2、并不是進(jìn)入Survivor Space(幸存者區(qū))后就保證人身是安全的,但至少可以活段時(shí)間。GC會(huì)定期(可以自定義)會(huì)對(duì)這些人進(jìn)行敲詐,億萬(wàn)富翁每次都給錢(qián),GC很滿意,就讓其進(jìn)入了Genured Gen(養(yǎng)老區(qū))。萬(wàn)元戶經(jīng)不住幾次敲詐就沒(méi)錢(qián)了,GC看沒(méi)有啥價(jià)值啦,就直接kill掉了。

3、進(jìn)入到養(yǎng)老區(qū)的人基本就可以保證人身安全啦,但是億萬(wàn)富豪有的也會(huì)揮霍成窮光蛋,只要錢(qián)沒(méi)了,GC還是kill掉。

分區(qū)的目的:新生區(qū)由于對(duì)象產(chǎn)生的比較多并且大都是朝生夕滅的,所以直接采用標(biāo)記-清理算法。而養(yǎng)老區(qū)生命力很強(qiáng),則采用復(fù)制算法,針對(duì)不同情況使用不同算法。

非heap區(qū)域中Perm Gen中放著類(lèi)、方法的定義,jvm Stack區(qū)域放著方法參數(shù)、局域變量等的引用,方法執(zhí)行順序按照棧的先入后出方式。

以上轉(zhuǎn)自:http://lhc1986.iteye.com/blog/1421832

以下轉(zhuǎn)自:http://www.cnblogs.com/xhr8334/archive/2011/12/01/2270994.html





GC工作機(jī)制

SUN的jvm內(nèi)存池被劃分為以下幾個(gè)部分:

Eden Space (heap)

內(nèi)存最初從這個(gè)線程池分配給大部分對(duì)象。

 

Survivor Space (heap)

用于保存在eden space內(nèi)存池中經(jīng)過(guò)垃圾回收后沒(méi)有被回收的對(duì)象。

 

Tenured Generation (heap)

用于保持已經(jīng)在survivor space內(nèi)存池中存在了一段時(shí)間的對(duì)象。

 

Permanent Generation (non-heap)

保存虛擬機(jī)自己的靜態(tài)(reflective)數(shù)據(jù),例如類(lèi)(class)和方法(method)對(duì)象。Java虛擬機(jī)共享這些類(lèi)數(shù)據(jù)。這個(gè)區(qū)域被分割為只讀的和只寫(xiě)的。

 

Code Cache (non-heap)

HotSpot Java虛擬機(jī)包括一個(gè)用于編譯和保存本地代碼(native code)的內(nèi)存,叫做“代碼緩存區(qū)”(code cache)。

 

簡(jiǎn)單來(lái)講,jvm的內(nèi)存回收過(guò)程是這樣的:

對(duì)象在Eden Space創(chuàng)建,當(dāng)Eden Space滿了的時(shí)候,gc就把所有在Eden Space中的對(duì)象掃描一次,把所有有效的對(duì)象復(fù)制到第一個(gè)Survivor Space,同時(shí)把無(wú)效的對(duì)象所占用的空間釋放。當(dāng)Eden Space再次變滿了的時(shí)候,就啟動(dòng)移動(dòng)程序把Eden Space中有效的對(duì)象復(fù)制到第二個(gè)Survivor Space,同時(shí),也將第一個(gè)Survivor Space中的有效對(duì)象復(fù)制到第二個(gè)Survivor Space。如果填充到第二個(gè)Survivor Space中的有效對(duì)象被第一個(gè)Survivor Space或Eden Space中的對(duì)象引用,那么這些對(duì)象就是長(zhǎng)期存在的,此時(shí)這些對(duì)象將被復(fù)制到Permanent Generation。

若垃圾收集器依據(jù)這種小幅度的調(diào)整收集不能騰出足夠的空間,就會(huì)運(yùn)行Full GC,此時(shí)jvm gc停止所有在堆中運(yùn)行的線程并執(zhí)行清除動(dòng)作。 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
JVM內(nèi)存:年輕代、老年代、永久代(推薦 轉(zhuǎn))
JVM GC調(diào)優(yōu)
java 虛擬機(jī)--新生代與老年代GC
JVM調(diào)優(yōu)
Java Performance Tuning GC調(diào)優(yōu)
java虛擬機(jī)內(nèi)存管理機(jī)制(二):了解JVM的內(nèi)存管理與垃圾回收
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服