返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #35630同步于 2014/10/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
[问题]写一段代码,怎么使JVM的方法区报outOfMemory 错误?
aa1143
2014/10/27镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
首先把jvm参数调小一点
然后根据你想要溢出的类型,不停创建大对象,并把这个每个新创建的大对象塞入容器里面持有它
【 在 aa1143 (bysss) 的大作中提到: 】
这样只是把堆内存占满了吧?我说的是方法区....
【 在 taoch 的大作中提到: 】
: 首先把jvm参数调小一点
: 然后根据你想要溢出的类型,不停创建大对象,并把这个每个新创建的大对象塞入容器里面持有它
:
不好意思没看清。。。
因为常量池也属于方法区,可以建立大量随机唯一string放进容器
或者使用反射机制在运行时创建一大堆类
【 在 aa1143 (bysss) 的大作中提到: 】
: 这样只是把堆内存占满了吧?我说的是方法区....
多谢大神解答,明白了。
【 在 taoch 的大作中提到: 】
: 不好意思没看清。。。
: 因为常量池也属于方法区,可以建立大量随机唯一string放进容器
: 或者使用反射机制在运行时创建一大堆类
: ...................
不记得在那里看到的一个经典的构造永久区内存溢出的方法:
public void genGC()
{
for(int i = 0; i< Integer.MAX_VALUE; i++)
String str = String.valueOf(i).intern();
}
不对求别喷,叫我渣本...
【 在 aa1143 的大作中提到: 】
简单的方法最凑效
【 在 renyi 的大作中提到: 】
: 不记得在那里看到的一个经典的构造永久区内存溢出的方法:
: [code=java]
: public void genGC()
: ...................