public classOOMExample {
public static void main(String[] args) {
// 创建一个大容量的字符串列表,不断往里面添加字符串,直到内存溢出
List<String> list = new ArrayList<>();
int count = 0;
try {
while (true) {
list.add(String.valueOf(count++));
}
} catch (OutOfMemoryError e) {
System.out.println("发生内存溢出: " + e.getMessage());
}
}
}
这段代码通过不断地向 ArrayList 中添加字符串,最终会导致 Java 虚拟机(JVM)的堆内存耗尽,从而抛出 OutOfMemoryError 异常。这种情况下,JVM 没有足够的内存来完成操作。
List<String> list = new ArrayList<>();:创建一个 ArrayList 来存储字符串。while (true):无限循环,持续向 list 中添加字符串。catch (OutOfMemoryError e):捕获内存溢出错误,并打印出错误信息。请注意,在实际开发中应避免编写可能导致内存溢出的代码,可以通过优化算法、合理管理对象生命周期等方式来预防此类问题。
上一篇:java面向对象
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站