模拟内存溢出的简单代码示例
可以通过创建大量对象并使它们无法被垃圾回收来触发内存溢出。例如,可以在一个循环里不断往一个集合(如ArrayList)中添加新对象,而且不给对象解除引用,这样JVM分配的堆内存会迅速耗尽,从而引发java.lang.OutOfMemoryError异常。示例代码:
List
while (true) {
list.add(new byte[1024 * 1024]); // 每次添加1MB字节数组
}
模拟内存溢出的简单代码示例
可以通过创建大量对象并使它们无法被垃圾回收来触发内存溢出。例如,可以在一个循环里不断往一个集合(如ArrayList)中添加新对象,而且不给对象解除引用,这样JVM分配的堆内存会迅速耗尽,从而引发java.lang.OutOfMemoryError异常。示例代码:
List
while (true) {
list.add(new byte[1024 * 1024]); // 每次添加1MB字节数组
}