zoukankan      html  css  js  c++  java
  • Java For循环效率试验

    非常奇怪的结果!

    。。!


    测试方法如以下

    public class Main {
    
    	public static void main(String[] args){
    
            	long ti = System.currentTimeMillis();
            	for(int i=Integer.MIN_VALUE;i<Integer.MAX_VALUE;i++){
            	    if(i==i) continue;
            	}
            	System.out.println(System.currentTimeMillis()-ti);
            	
    
            	ti = System.currentTimeMillis();
            	for(int i=Integer.MIN_VALUE;i<Integer.MAX_VALUE;i++){
            	    continue;
            	}
            	System.out.println(System.currentTimeMillis()-ti);
    	}
    
    }
    

    输出结果
    6
    1320


    问题1:

    在for循环中增加推断后,循环运行的时间居然差这么多。。


    以上是问题,看以下这个測试,你会发现更有意思

    public class Main {
    
    	public static void main(String[] args){
            	
            	long ti = System.currentTimeMillis();
            	long c = 0;
            	for(int i=Integer.MIN_VALUE;i<Integer.MAX_VALUE;i++){
            	    c++;
            	    if(i==i) continue;
            	}
            	System.out.println(System.currentTimeMillis()-ti + "  "+c);
            	
            	ti = System.currentTimeMillis();
            	c=0;
            	for(int i=Integer.MIN_VALUE;i<Integer.MAX_VALUE;i++){
            	    c++;
            	    continue;
            	}
            	System.out.println(System.currentTimeMillis()-ti+ "  "+c);
    	}
    
    }
    相同输出

    93  4294967295
    7847  4294967295
    
    不过在循环内做了一次++操作,耗时居然添加了近10倍!
    
    不得不说,java!你的执行效率实在是慘不忍睹。

    。。

    java版本号: javac 1.7.0_25



    求解释:

    在for循环中增加推断与不加推断,运行时间相差为什么会相差200倍?!

    -------------------------------------------------------------------------------------------------

    今天又測试一次,java版本号不知道什么时候变成了这个样子: javac 1.7.0_55    结果不再和上次測试一样,看来上次是遇到bug了。

     不知道java当自己升级。。


    版权声明:本文博主原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    Asp.Net MVC ajax调用 .net 类库问题
    sql关键查询
    js数组
    win2003 sp2+iis 6.0上部署.net 2.0和.net 4.0网站的方法
    Linux开启服务器问题(李蕾问题)
    SWFUpload 中文乱码问题
    设置html滚动条(陶庭飞问题)
    反射(前台到后台,后台到前台)
    MySql数据类型
    将页面居中
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4757791.html
Copyright © 2011-2022 走看看