📄 leakserver.java
字号:
package net.betterjava.memory.leak;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.*;
class LeakServer extends Thread {
private ObjectOutputStream out;
private int counter = 0;
LeakServer(int port) {
try {
ServerSocket socket = new ServerSocket(port);
out = new ObjectOutputStream(socket.accept().getOutputStream());
} catch (IOException e) {
e.printStackTrace(System.out);
}
}
public void run() {
DataPackage dp = null;
int i = 0;
while (true) {
dp = new DataPackage();
System.out.println(String.valueOf(counter) + ":" + dp);
counter++;
try {
out.writeObject(dp);
out.flush();
} catch (IOException e) {
e.printStackTrace(System.out);
System.exit(1);
}
}
}
public static void main(String[] args) {
LeakServer server = new LeakServer(8888);
server.start();
ArrayList list = new ArrayList();
for (int i = 0; i < list.size(); i++) {
Object obj = list.get(i);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -