千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

當(dāng)前位置:首頁(yè)  >  IT問(wèn)答庫(kù)  >  Java基礎(chǔ)知識(shí)

JVM模型的介紹二

發(fā)布:Java基礎(chǔ)知識(shí) 2022-03-16 09:58

JVM模型的介紹二

推薦答案

          JVM模型的介紹二,接著上一篇我們繼續(xù)來(lái)分享,棧之本地方法棧。

  本地方法棧的作用和java虛擬機(jī)棧的作用是相類(lèi)似的;區(qū)別在于java虛擬機(jī)棧是為java方法服務(wù)的,而本地方法棧是為native方法服務(wù)的;java虛擬機(jī)規(guī)范中對(duì)本地方法棧中的方法使用的語(yǔ)言、使用方式和數(shù)據(jù)結(jié)構(gòu)沒(méi)有強(qiáng)制規(guī)范

JavaEE

  堆

  堆是jvm內(nèi)存模型中內(nèi)存空間最大的一塊,java堆是被所有線程共享的一塊內(nèi)存區(qū)域,在虛擬機(jī)啟動(dòng)時(shí)隨之創(chuàng)建,堆創(chuàng)建的唯一目的就是用來(lái)保存對(duì)象實(shí)例,幾乎所有new創(chuàng)建的對(duì)象實(shí)例都在這里分配內(nèi)存(隨著JIT 編譯器的發(fā)展與逃逸分析技術(shù)的逐漸成熟,棧上分配、標(biāo)量替換優(yōu)化技術(shù)將會(huì)導(dǎo)致一些微妙的變化發(fā)生,所有的對(duì)象都分配在堆上也漸漸變得不是那么“絕對(duì)”了)

  堆的大小可以通過(guò)-Xms-Xmn兩個(gè)參數(shù)來(lái)設(shè)置,-XmsJVM啟動(dòng)時(shí)申請(qǐng)的最小內(nèi)存,默認(rèn)為操作系統(tǒng)物理內(nèi)存的1/64但小于1G-XmxJVM可申請(qǐng)的最大內(nèi)存,默認(rèn)為物理內(nèi)存的1/4但小于1G,默認(rèn)當(dāng)空余堆內(nèi)存小于40%時(shí),JVM會(huì)增大Heap-Xmx指定的大小,可通過(guò)-XX:MinHeapFreeRation=來(lái)指定這個(gè)比列;當(dāng)空余堆內(nèi)存大于70%時(shí),JVM會(huì)減小heap的大小到-Xms指定的大小,可通過(guò)XX:MaxHeapFreeRation=來(lái)指定這個(gè)比列,對(duì)于運(yùn)行系統(tǒng),為避免在運(yùn)行時(shí)頻繁調(diào)整Heap的大小,通常-Xms-Xmx的值設(shè)成一樣。

  堆也是垃圾收集管理的主要區(qū)域,通常所說(shuō)的垃圾回收主要是回收堆中的垃圾對(duì)象,因此堆也被稱為GC

  從垃圾回收的角度上來(lái)看,由于現(xiàn)在垃圾收集大多是采用分代收集算法,所以java堆還可以細(xì)分為:新生代和老年代;

  新生代:程序新創(chuàng)建的對(duì)象都是從新生代分配內(nèi)存,新生代由Eden Space和兩塊相同大小的Survivor Space(通常又稱S0S1FromTo)構(gòu)成,可通過(guò)-Xmn參數(shù)來(lái)指定新生代的大小,也可以通過(guò)-XX:SurvivorRation來(lái)調(diào)整Eden SpaceSurvivorSpace的大小。

  老年代:用于存放經(jīng)過(guò)多次新生代GC仍然存活的對(duì)象(默認(rèn)是15),例如緩存對(duì)象,新建的對(duì)象也有可能直接進(jìn)入老年代,主要有兩種情況:

  1.大對(duì)象,可通過(guò)啟動(dòng)參數(shù)設(shè)置-XX:PretenureSizeThreshold=1024(單位為字節(jié),默認(rèn)為0)來(lái)代表超過(guò)多大時(shí)就不在新生代分配,而是直接在老年代分配。

  2.大的數(shù)組對(duì)象,且數(shù)組中無(wú)引用外部對(duì)象。老年代所占的內(nèi)存大小為-Xmx對(duì)應(yīng)的值減去-Xmn對(duì)應(yīng)的值。

  java堆也會(huì)出現(xiàn)內(nèi)存溢出的情況:如果在堆中沒(méi)有內(nèi)存完成實(shí)例分配,并且堆也無(wú)法再擴(kuò)展時(shí),將會(huì)拋出OutOfMemoryError 異常

  方法區(qū)

  方法區(qū)用于存放已被虛擬機(jī)加載的類(lèi)信息、常量、類(lèi)變量等數(shù)據(jù),它也是所有線程共享的一塊內(nèi)存區(qū)域,通常叫它為no-heap(用于與堆區(qū)分)或者永生代

  永生代也會(huì)被GC回收,主要針對(duì)常量池回收和類(lèi)型卸載(反射生成大量的臨時(shí)class等信息)

  常量池用于保存編譯器生成的各種字節(jié)碼和符號(hào)引用,具有一定的動(dòng)態(tài)性,里面可以保存編譯器生成的常量,運(yùn)行期間的常量也是可以添加到常量池中的,比如Stringintern()方法;

  方法區(qū)也是會(huì)出現(xiàn)內(nèi)存溢出的情況的:當(dāng)方法區(qū)滿時(shí),無(wú)法再分配內(nèi)存空間,就會(huì)拋出內(nèi)存溢出的異常

  java8中已經(jīng)沒(méi)有方法區(qū)了,取而代之的是元空間metaspace

  以上就是小編介紹的"Java培訓(xùn)班分享的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn)還可以點(diǎn)擊進(jìn)入Java視頻教程進(jìn)行學(xué)習(xí)。

最新問(wèn)答資訊

01 unity用什么編程語(yǔ)言?unity學(xué)習(xí)難度大嗎

學(xué)習(xí) unity 語(yǔ)言
6020 人關(guān)注

02 python容易學(xué)嗎?學(xué)好python有什么好處?

學(xué)習(xí) python 工作 培訓(xùn)
5389 人關(guān)注

03 html是什么語(yǔ)言?html學(xué)習(xí)難嗎?

學(xué)習(xí) html 語(yǔ)言 可以
5062 人關(guān)注

04 c語(yǔ)言難學(xué)嗎?c語(yǔ)言學(xué)好要多久?

語(yǔ)言 技術(shù) 學(xué)習(xí)
4733 人關(guān)注

06 學(xué)好平面設(shè)計(jì)要多久?報(bào)速成班靠譜嗎?

平面 設(shè)計(jì) 學(xué)習(xí) 時(shí)間
4238 人關(guān)注

相關(guān)問(wèn)題

計(jì)算機(jī)前端和后端區(qū)別,到底該學(xué)哪一個(gè)?

互聯(lián)網(wǎng)行業(yè)的發(fā)展速度很快,有關(guān)市場(chǎng)上對(duì)于it行業(yè)的人才需求量越...

java和php的區(qū)別是什么?哪一個(gè)更難一些?

有很多零基礎(chǔ)的小白想要去學(xué)習(xí)編程技術(shù),那么可以考慮一下java和...

java與java script的區(qū)別有哪些?

相信大多數(shù)同學(xué)對(duì)java、java script都不會(huì)陌生,二者都是編程語(yǔ)...

java中什么是繼承?

繼承的特點(diǎn):只需明確一點(diǎn),java只支持單繼承,不支持多繼承,但...

java byte取值范圍是什么?

同學(xué)您好,java byte取值范圍是什么?針對(duì)這個(gè)問(wèn)題可以看看下面的...

javascript和java有什么區(qū)別

1)基于對(duì)象和面向?qū)ο螅篔ava是一種真正的面向?qū)ο蟮恼Z(yǔ)言,即使是...

測(cè)一測(cè)
你知道多少I(mǎi)T梗

主站蜘蛛池模板: 亚洲国产成人久久一区久久| 日韩AV片无码一区二区不卡| 亚洲日韩精品国产一区二区三区 | 日本国产一区二区三区在线观看| 一区二区三区在线| 中文字幕无线码一区二区| 国产亚洲一区二区精品| 亚洲国产成人久久一区久久| 国产伦理一区二区三区| 天堂一区二区三区精品| 午夜影院一区二区| 精品国产一区二区三区不卡| 精品国产亚洲一区二区三区| 成人国产一区二区三区| 一区二区福利视频| www亚洲精品少妇裸乳一区二区| 国产日韩精品一区二区在线观看 | 国产麻豆媒一区一区二区三区| 久久久久人妻一区二区三区| 日本亚洲成高清一区二区三区| 中文字幕一区二区三区有限公司| 午夜精品一区二区三区在线观看 | 高清一区二区三区日本久| 精品国产一区二区三区久久蜜臀| 内射白浆一区二区在线观看 | 精品无码日韩一区二区三区不卡| 国产一区二区在线视频| 精品乱人伦一区二区三区| 亚洲老妈激情一区二区三区| 亚洲夜夜欢A∨一区二区三区| 一区二区三区影院| 日本欧洲视频一区| 69久久精品无码一区二区| 毛片一区二区三区| 国产一区二区三区亚洲综合| 麻豆精品一区二区综合av| 岛国无码av不卡一区二区| 亚洲AV无码第一区二区三区| 99久久精品日本一区二区免费| 国产精品成人免费一区二区| 精品理论片一区二区三区|