新聞中心
1.元空間:
元空間的本質(zhì)和永久代類似,都是對JVM規(guī)范中方法區(qū)的實現(xiàn)。不過元空間與永久代之間大的區(qū)別在于:元空間并不在虛擬機(jī)中,而是使用本地內(nèi)存。因此,默認(rèn)情況下,元空間的大小僅受本地內(nèi)存限制。
但可以通過以下參數(shù)來指定元空間的大小:?
-XX:MetaspaceSize=N?
這個參數(shù)是初始化的Metaspace大小,該值越大觸發(fā)Metaspace GC的時機(jī)就越晚。隨著GC的到來,虛擬機(jī)會根據(jù)實際情況調(diào)控Metaspace的大小,可能增加上線也可能降低。在默認(rèn)情況下,這個值大小根據(jù)不同的平臺在12M到20M浮動。使用java -XX:+PrintFlagsInitial命令查看本機(jī)的初始化參數(shù),-XX:Metaspacesize為21810376B(大約20.8M)。-XX:MaxMetaspaceSize=N?
這個參數(shù)用于限制Metaspace增長的上限,防止因為某些情況導(dǎo)致Metaspace無限的使用本地內(nèi)存,影響到其他程序。在本機(jī)上該參數(shù)的默認(rèn)值為4294967295B(大約4096MB)。-XX:MinMetaspaceFreeRatio=N?
當(dāng)進(jìn)行過Metaspace GC之后,會計算當(dāng)前Metaspace的空閑空間比,如果空閑比小于這個參數(shù),那么虛擬機(jī)將增長Metaspace的大小。在本機(jī)該參數(shù)的默認(rèn)值為40,也就是40%。設(shè)置該參數(shù)可以控制Metaspace的增長的速度,太小的值會導(dǎo)致Metaspace增長的緩慢,Metaspace的使用逐漸趨于飽和,可能會影響之后類的加載。而太大的值會導(dǎo)致Metaspace增長的過快,浪費內(nèi)存。-XX:MaxMetasaceFreeRatio=N?
當(dāng)進(jìn)行過Metaspace GC之后, 會計算當(dāng)前Metaspace的空閑空間比,如果空閑比大于這個參數(shù),那么虛擬機(jī)會釋放Metaspace的部分空間。在本機(jī)該參數(shù)的默認(rèn)值為70,也就是70%。-XX:MaxMetaspaceExpansion=N?
Metaspace增長時的大幅度。在本機(jī)上該參數(shù)的默認(rèn)值為5452592B(大約為5MB)。-XX:MinMetaspaceExpansion=N?
Metaspace增長時的最小幅度。在本機(jī)上該參數(shù)的默認(rèn)值為340784B(大約330KB為)。
2.元空間內(nèi)存管理
元空間的內(nèi)存管理由元空間虛擬機(jī)來完成。先前,對于類的元數(shù)據(jù)我們需要不同的垃圾回收器進(jìn)行處理,現(xiàn)在只需要執(zhí)行元空間虛擬機(jī)的C++代碼即可完成。
在元空間中,類和其元數(shù)據(jù)的生命周期和其對應(yīng)的類加載器是相同的。
話句話說,只要類加載器存活,其加載的類的元數(shù)據(jù)也是存活的,因而不會被回收掉。?
準(zhǔn)確的來說,每一個類加載器的存儲區(qū)域都稱作一個元空間,所有的元空間合在一起就是我們一直說的元空間。
當(dāng)一個類加載器被垃圾回收器標(biāo)記為不再存活,其對應(yīng)的元空間會被回收。
可以參考文章:
https://blog.csdn.net/bolg_hero/article/details/78189621
https://www.cnblogs.com/williamjie/p/9558136.html
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
新聞標(biāo)題:Metaspace元空間-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://fisionsoft.com.cn/article/dhossh.html