Java编程细节问题

编程时候的一些细节很重要,今天在做代码时发现了一个非常容易让人忽视的问题,以Java程序为列:

import java.util.*;

import static java.lang.System.*;

public class Main {
	
	private static long time;
	private static long startTime;
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		startTime = System.currentTimeMillis();
		for(long i=0; i<100000; i++){
			long arg = 10;
			arg = 10+8+10*8/2;
			//System.out.println("message");
		}
		time = 	System.currentTimeMillis() - startTime;
		System.out.println(time);
	}

}

程序很简单,模拟进行10万次运算,打印出运行时间,在我电脑上是2毫秒就完事了,但是如果在这个循环中加上一条输出语句System.out.println("message")的话这个程序的运行时间就变成了600毫秒,如果循环次数改为1亿次那这个时间就相当可观了,所以计算机本身运算的速度非常快而执行I/O操作是很耗时的。为提高一点点程序运行性能,可以考虑在程序发布前将输出语句能删除的删除掉

你可能感兴趣的:(Java编程细节问题)