gpt4 book ai didi

java - 反射如何影响 Perm 大小?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:12:31 26 4
gpt4 key购买 nike

我的理解是 perm size 用于存储元数据,其中包括字节码、静态内容等。

我的问题是,反射的使用如何影响烫发大小(如果有的话)。我的意思是,如果 Program-A 使用正常的方式运行对象而 Program-B 全部使用反射,两个程序的 perm-size 如何比较?

最佳答案

当您执行将加载新类内部化字符串 的代码时,perm 空间将会增加。必须加载反射类,这是肯定的。我不确定反射 API 是否大量使用内部化字符串,但应该不难发现。

例如方法getDeclaredMethod(String name, Class<?>... parameterTypes)名称参数将被内部化。

此代码段将很好地填充烫发空间:

Random random = new Random();
while(true){
try {
X.class.getDeclaredMethod(toBinaryString(random.nextLong()));
} catch (Exception e) {
}
}

alt text http://img4.imageshack.us/img4/9725/permgen.jpg

在现实世界的应用程序中,它不会有任何区别。

关于java - 反射如何影响 Perm 大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1825866/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com