我在主函数中测试for循环中是++快还是--快
出现了一个问题比如说
long t1 = System.currentTimeMillis();
for(int i=0 ;i<200000000; i++)
long t2 = System.currentTimeMillis();
System.out.print(t2-t1);
如果上面的循环若是执行两遍的话,下面的循环用的时间是上面循环所用时间的50%
后来又做了一个测试
在一个for循环后面,在加上一个while循环
循环次数是一样的,后面的while循环也是上面的50%左右
实在是想不出来到底是什么原因,谢谢好心人帮助解决一下!
出现了一个问题比如说
long t1 = System.currentTimeMillis();
for(int i=0 ;i<200000000; i++)
long t2 = System.currentTimeMillis();
System.out.print(t2-t1);
如果上面的循环若是执行两遍的话,下面的循环用的时间是上面循环所用时间的50%
后来又做了一个测试
在一个for循环后面,在加上一个while循环
循环次数是一样的,后面的while循环也是上面的50%左右
实在是想不出来到底是什么原因,谢谢好心人帮助解决一下!
解决方案 »
- myeclipse的调试问题
- 急:多个客户端访问同一个数据库表的同步问题?
- 用AWT做的记事本怎么写保存代码?
- 怎样编写象股市分析软件相仿的软件?
- 怎么把java写的程序能弄成一个exe为后缀的可执行文件?
- 求教一个问题现象~3Q~
- 操作系统中只可能有一套JVM在运行么?如何指定程序运行所使用的JVM?可以两个JVM共存么?
- 【如果我只能获得一个从1970 年来的毫秒数那我怎么来得到确切的日期时间?】
- 如何调用在.jar文件中的类,是微软出的jdbc for sql server的接口
- Mr karma: Another question?
- 借口能不能继承类啊!!!(讨论一下)
- 非常简单的程序
long t1 = System.currentTimeMillis();
for(int i=0 ;i<200000000; i++)
;//你少了一个分号;
long t2 = System.currentTimeMillis();
System.out.print(t2-t1);//测试--
long t1 = System.currentTimeMillis();
for(int i=200000000 ;i>0; i--)
;//分号
long t2 = System.currentTimeMillis();
System.out.print(t2-t1);不知是否合乎楼主的要求?
但是,如果这样的两个循环
long t1 = System.currentTimeMillis();
for(int i=0 ;i<200000000; i++)
;//你少了一个分号;
long t2 = System.currentTimeMillis();
System.out.print(t2-t1);long t3 = System.currentTimeMillis();
for(int i=0 ;i<200000000; i++)
;//你少了一个分号;
long t4 = System.currentTimeMillis();
System.out.print(t4-t3);其实一样的循环,执行了两次,但是,时间却相差特别大,不知道为什么!
第一次:
1312
1322
Press any key to continue...
第二次:
1372
1321
Press any key to continue...
第三次:
1402
1342
Press any key to continue...我也感觉是有点奇怪,为什么越执行所需要的时间越长?
应该执行一次,写入了缓存,下次执行就快了啊。
641
296
第二次
625
344
第三次
641
312
不知道差距为什么这么大
我机器配置p4 2.8 700MB