java GC和控制台

时间:2013-07-10 19:57:48

标签: java

只是为了理解,我在做以下代码时发生了什么:

public class Loopp {

    public static void main(String[] args) {
        int i=1;
        while(true) {
            Employee e = new Employee("MyName", i);
            i++;
            System.out.print(i + " ");
        }
    }
}

但是在控制台上我没有看到任何输出,但是当我在调试模式下运行时,它会打印2 3 4 ..
我知道gc会一次又一次地被激活以收集垃圾对象,但是也可以清除控制台:|

修改

根据答案,它对我有用,今天我学到了新东西

System.out.println(i + " ");
System.out.flush();

1 个答案:

答案 0 :(得分:8)

您使用的print没有flush。只有println具有 autoflushing 语义。

System.out.flush()添加到您的代码中。