例一:计数10万,计算毫秒数
public class TestWithNoIO { public static void main(String[] args) { long begin = System.currentTimeMillis(); int i = 100000; for (int j = 0; j < i; j++) { } System.out.println("testNonIO 耗时(毫秒):" + (System.currentTimeMillis() - begin)); } }
testNonIO 耗时(毫秒):0运行许多次,数值稳定在1毫秒或者0毫秒
例二:在for循环中增加System.out.print(""),注意是没有空格的空字符串,如下:
public class TestWithNOLR { public static void main(String[] args) { long begin = System.currentTimeMillis(); int i = 100000; for (int j = 0; j < i; j++) { System.out.print(""); } System.out.println("testIOWithNoLR 耗时:"+(System.currentTimeMillis()-begin)); } }
testIOWithNoLR 耗时:13运行多次,数值稳定在10毫秒左右。
例三:这次我们在例二的基础上,空字符串里添加一个空格。如下:
public class TestWithNOLR { public static void main(String[] args) { long begin = System.currentTimeMillis(); int i = 100000; for (int j = 0; j < i; j++) { System.out.print(" "); } System.out.println("testIOWithNoLR 耗时:"+(System.currentTimeMillis()-begin)); } }
testIOWithNoLR 耗时:187运行多次,数值稳定在180毫秒左右(注意:空格输出已被我截去)
例五:这次我们把IO由不换行的输出字符串,改为输出换行
public class TestWithLR { public static void main(String[] args) { long begin = System.currentTimeMillis(); int i = 100000; for (int j = 0; j < i; j++) { System.out.println(); } System.out.println("testIOWithLR 耗时:"+(System.currentTimeMillis()-begin)); } }
testIOWithLR 耗时:198运行多次,我们发现数值稳定在190多毫秒,基本上和例四所消耗的时间持平(也就是输出两个空格)。
例六:这次我们在例五的基础上增加一个换行
public class TestWithLR { public static void main(String[] args) { long begin = System.currentTimeMillis(); int i = 100000; for (int j = 0; j < i; j++) { System.out.println(); System.out.println(); } System.out.println("testIOWithLR 耗时:"+(System.currentTimeMillis()-begin)); } }
testIOWithLR 耗时:393运行多次,我们发现数值稳定在400毫秒左右。
原文:https://www.cnblogs.com/InformationGod/p/10847270.html