package chapter03;
import java.util.ArrayList;
import java.util.concurrent.TimeUnit;
public class MemoryLeak1 {
public static void main(String[] args) {
while (true) {
ArrayList list = new ArrayList();
for (int i = 0; i < 500; i++) {
Bean data = new Bean();
data.list.add(new byte[1024 * 10]);// 10kb
list.add(data);
}
try {
TimeUnit.MILLISECONDS.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
class Bean {
private int size = 10;
private String info = "hello,China";
static ArrayList list = new ArrayList(); // 发生内存泄漏
// ArrayList list = new ArrayList(); // 不发生内存泄漏
}