所以我有这个小客户端代码
public class Client {
private static Socket socket;
private static ObjectOutputStream out;
public static void main(String[] args) {
while (true) {
try {
if (socket != null) {
out.writeObject("Hello...");
Thread.sleep(1500);
} else {
socket = new Socket("myhost", 1234);
out = new ObjectOutputStream(socket.getOutputStream());
System.out.println("connected to server");
}
} catch (final Exception e) {
//set socket to null for reconnecting
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
让我感到困惑的是,当我用javaw.exe运行代码时,我发现java每2-3秒吃掉大约10kb的内存.因此内存使用量不断增长和增长......
java真的那么糟糕还是有别的错?
我在while循环中运行此代码一段时间,内存使用量增加了1000 kb.java gargabe在使用后收集'tmp'变量不是吗?
try {
if (socket == null) {
final Socket tmp = new …Run Code Online (Sandbox Code Playgroud)