小编Apb*_*ple的帖子

为什么Java不断吃更多内存?

所以我有这个小客户端代码

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)

java memory

1
推荐指数
1
解决办法
4464
查看次数

标签 统计

java ×1

memory ×1