Java实现一个无限循环的程序,它会不断的分配内存,并向其中写入一个值,直到系统内存耗尽或者程序被手动终止。
时间: 2024-02-25 19:52:44 浏览: 42
以下是Java实现一个无限循环的程序,它会不断分配内存并向其中写入一个值的代码:
```
public class MemoryLeak {
public static void main(String[] args) {
byte[] buffer = new byte[1024 * 1024]; // 1MB
while (true) {
buffer = new byte[1024 * 1024]; // 1MB
Arrays.fill(buffer, (byte) 0x5a); // 填充为 0x5a
}
}
}
```
这段代码会不停地创建大小为1MB的数组,并将数组中的每个元素都填充为0x5a。由于没有释放已分配的内存,所以在不断循环中,程序会不断地消耗系统内存。当系统内存耗尽时,程序会因为无法再分配内存而抛出OutOfMemoryError异常。因此,这种程序也会导致系统资源的浪费。在实际开发中,应该避免写出这样的代码。
阅读全文