如果我<1000,这个程序可以成功运行,但是我把它改为i&lt; 10000,这个程序无法运行,为什么会这样?

时间:2016-10-17 06:21:33

标签: java

关于Java GC的测试

public class StringTest {

  public static void main(String[] args) {
    // TODO Auto-generated method stub
    String s1;
    for(int i=0;i<10000;i++){

        s1="1";

        System.out.print(s1);

    }
  }

}

1 个答案:

答案 0 :(得分:1)

这是您的控制台(假设Eclipse)的问题。您的程序正在运行,并显示输出,但无论出于何种原因,控制台无法正确处理该长度的行。在实践中,很少需要打印这么长的线。您应该考虑使用System.err.println()而不是System.err.print(),以便循环的每次迭代都打印在自己的行上。

但是,您也可以通过修改Eclipse中的控制台设置来解决问题:

Eclipse screen shot

通过指定固定宽度控制台,您的输出会正确显示(因为它以指定的控制台宽度包装)。