page contents

永久代溢出

Pack 发布于 2020-01-08 16:21
阅读 550
收藏 0


package com.dd.test;


import java.io.File;

import java.net.URL;

import java.net.URLClassLoader;

import java.util.ArrayList;

import java.util.List;


public class PermGenMock {

public static void main(String[] args) {

        URL url = null;

        List<ClassLoader> classLoaderList = new ArrayList<ClassLoader>();

        try {

            url = new File("/tmp").toURI().toURL();

            URL[] urls = {url};

            while (true){

                ClassLoader loader = new URLClassLoader(urls);

                classLoaderList.add(loader);

                loader.loadClass("com.dd.test.PermGenMock");

            }

        } catch (Exception e) {

            e.printStackTrace();

        }

    }


}


135
Pack
Pack

JDK1.6及之前:有永久代,常量池在方法区

JDK1.7:有永久代,但已经逐步“去永久代”,常量池在堆中

JDK1.8及之后:无永久代,常量池在元空间

请先 登录 后评论