小编And*_*dre的帖子

为什么堆内存与Java 8中的元空间一起上升?

我正在做一些测试,以了解元空间内存(Java 8以上)的工作原理.当我动态创建100,000个类时,元空间内存正在增长(显然),但堆内存也在​​增长.有人可以向我解释为什么会这样吗?

PS:我正在使用128 MB的堆和128 MB的元空间运行测试.

@Test
public void metaspaceTest() throws CannotCompileException, InterruptedException {

ClassPool cp = ClassPool.getDefault();
System.out.println("started");

for (int i = 0; i <= 100000; i++) {
    Class c = cp.makeClass("br.com.test.GeneratedClass" + i).toClass();
    Thread.sleep(1);
    if (i % 10000 == 0) {
    System.out.println(i);
    }
}

System.out.println("finished");
}
Run Code Online (Sandbox Code Playgroud)

见下图:

在此输入图像描述

在此输入图像描述

java java-8 metaspace

13
推荐指数
1
解决办法
314
查看次数

标签 统计

java ×1

java-8 ×1

metaspace ×1