1.元空間:
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、網(wǎng)絡(luò)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、賈汪網(wǎng)站維護(hù)、網(wǎng)站推廣。
元空間的本質(zhì)和永久代類似,都是對(duì)JVM規(guī)范中方法區(qū)的實(shí)現(xiàn)。不過元空間與永久代之間最大的區(qū)別在于:元空間并不在虛擬機(jī)中,而是使用本地內(nèi)存。因此,默認(rèn)情況下,元空間的大小僅受本地內(nèi)存限制。
但可以通過以下參數(shù)來指定元空間的大?。?
-XX:MetaspaceSize=N?
這個(gè)參數(shù)是初始化的Metaspace大小,該值越大觸發(fā)Metaspace GC的時(shí)機(jī)就越晚。隨著GC的到來,虛擬機(jī)會(huì)根據(jù)實(shí)際情況調(diào)控Metaspace的大小,可能增加上線也可能降低。在默認(rèn)情況下,這個(gè)值大小根據(jù)不同的平臺(tái)在12M到20M浮動(dòng)。使用java -XX:+PrintFlagsInitial命令查看本機(jī)的初始化參數(shù),-XX:Metaspacesize為21810376B(大約20.8M)。
-XX:MaxMetaspaceSize=N?
這個(gè)參數(shù)用于限制Metaspace增長(zhǎng)的上限,防止因?yàn)槟承┣闆r導(dǎo)致Metaspace無限的使用本地內(nèi)存,影響到其他程序。在本機(jī)上該參數(shù)的默認(rèn)值為4294967295B(大約4096MB)。
-XX:MinMetaspaceFreeRatio=N?
當(dāng)進(jìn)行過Metaspace GC之后,會(huì)計(jì)算當(dāng)前Metaspace的空閑空間比,如果空閑比小于這個(gè)參數(shù),那么虛擬機(jī)將增長(zhǎng)Metaspace的大小。在本機(jī)該參數(shù)的默認(rèn)值為40,也就是40%。設(shè)置該參數(shù)可以控制Metaspace的增長(zhǎng)的速度,太小的值會(huì)導(dǎo)致Metaspace增長(zhǎng)的緩慢,Metaspace的使用逐漸趨于飽和,可能會(huì)影響之后類的加載。而太大的值會(huì)導(dǎo)致Metaspace增長(zhǎng)的過快,浪費(fèi)內(nèi)存。
-XX:MaxMetasaceFreeRatio=N?
當(dāng)進(jìn)行過Metaspace GC之后, 會(huì)計(jì)算當(dāng)前Metaspace的空閑空間比,如果空閑比大于這個(gè)參數(shù),那么虛擬機(jī)會(huì)釋放Metaspace的部分空間。在本機(jī)該參數(shù)的默認(rèn)值為70,也就是70%。
-XX:MaxMetaspaceExpansion=N?
Metaspace增長(zhǎng)時(shí)的最大幅度。在本機(jī)上該參數(shù)的默認(rèn)值為5452592B(大約為5MB)。
-XX:MinMetaspaceExpansion=N?
Metaspace增長(zhǎng)時(shí)的最小幅度。在本機(jī)上該參數(shù)的默認(rèn)值為340784B(大約330KB為)。
2.元空間內(nèi)存管理
元空間的內(nèi)存管理由元空間虛擬機(jī)來完成。先前,對(duì)于類的元數(shù)據(jù)我們需要不同的垃圾回收器進(jìn)行處理,現(xiàn)在只需要執(zhí)行元空間虛擬機(jī)的C++代碼即可完成。
在元空間中,類和其元數(shù)據(jù)的生命周期和其對(duì)應(yīng)的類加載器是相同的。
話句話說,只要類加載器存活,其加載的類的元數(shù)據(jù)也是存活的,因而不會(huì)被回收掉。?
準(zhǔn)確的來說,每一個(gè)類加載器的存儲(chǔ)區(qū)域都稱作一個(gè)元空間,所有的元空間合在一起就是我們一直說的元空間。
當(dāng)一個(gè)類加載器被垃圾回收器標(biāo)記為不再存活,其對(duì)應(yīng)的元空間會(huì)被回收。
可以參考文章:
https://blog.csdn.net/bolg_hero/article/details/78189621
https://www.cnblogs.com/williamjie/p/9558136.html