亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

jvm設(shè)置堆內(nèi)存參數(shù) java heap space解決方法( 二 )


Exception in thread "main" java.lang.OutOfMemoryError: Java heap space5、方法區(qū),是所有JVM共享的區(qū)域,存儲了跟類的結(jié)構(gòu)相關(guān)的信息:運行時常量池,類的成員變量,方法數(shù)據(jù),以及成員方法和構(gòu)造器方法的代碼等 。方法區(qū)是在JVM啟動時被創(chuàng)建的,可以通過-XX:MaxMetaspaceSize=10m設(shè)置方法區(qū)的大小 。下圖就是JDK1.8中的內(nèi)存結(jié)構(gòu):
可以看到,Metaspace作為方法區(qū)的實現(xiàn),包含了Class、ClassLoader和常量池 。方法區(qū)也會有內(nèi)存溢出,即元空間的內(nèi)存溢出:
public class Demo1_5 extends ClassLoader{public static void main(String args[]) {try {Demo1_5 test = new Demo1_5();//加載10000個新的類for (int i=0; i<10000; i++) {//生成類的二進制字節(jié)碼ClassWriter cw = new ClassWriter(0);//參數(shù)含義:版本號,public,類名,包名,父類,接口cw.visit(Opcodes.V1_8, Opcodes.ACC_PUBLIC, "Class"+i, null, "java/lang/object", null);//返回類的byte數(shù)組byte[] code = cw.toByteArray();//執(zhí)行類的加載test.defineClass("Class"+i, code, 0, code.length);}}catch (Exception e) {e.printStackTrace();}}}上述案例演示了加載的類數(shù)量過多導(dǎo)致元空間內(nèi)存溢出,以下是運行后結(jié)果:
Error occurred during initialization of VMMaxMetaspaceSize is too small.


以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!

「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助: