我想知道如何自己引发OutOfMemoryError: Metaspace异常?是不是可以加载很多类,让它们在内存中长期驻留。
最佳答案
继续向 StringBuilder
添加一些文本,直到出现 OutOfMemoryError
StringBuilder s = new StringBuilder();
while (true) {
s.append("dummy");
}
您也可以将一些虚拟类添加到 List
或 Set
中,但是创建新实例更耗时,您将不得不等待一段时间直到获取 OutOfMemoryError
。
此外,插入数组列表的摊销时间成本也会有所不同。
已更新
默认情况下,Java 8 对元空间的最大大小没有限制,因此只要您不使用 MaxMetaspaceSize
标志设置限制,就不会抛出错误。
关于java - 如何模拟OutOfMemoryError : Metaspace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52661753/