2 u014552697 u014552697 于 2016.03.24 10:21 提问

java性能问题

public class Guava implements Runnable {
public static void main(String []a){
new Thread(new Guava()).start();
}
@Override
public void run() {
long end;
long start;
int temp=0;
while(true){

    start=System.currentTimeMillis();   
    for(int i=0;i<1000000000;i++){
        int b=0;
        temp=++b;
    }
    end=System.currentTimeMillis();
    System.out.println("1:"+(end-start));
    System.out.println("b="+temp);
    //---------------------------------------
    start=System.currentTimeMillis();
    int c=0;
    for(int j=0;j<1000000000;j++){
        c=0;
        temp=++c;
    }
    end=System.currentTimeMillis();
    System.out.println("2:"+(end-start));
    System.out.println("c="+temp);
    //---------------------------------------
    try {
        new Thread().sleep(3000);
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    System.out.println("---------------------------------------");}
}
}
![图片说明](http://img.ask.csdn.net/upload/201603/24/1458785966_300029.png)

为什么 case1 比较快

2个回答

bi_ma_wen
bi_ma_wen   2016.03.24 12:41

用内存空间换取时间。

CSDNXIAOC
CSDNXIAOC   2016.03.30 11:21

1.尽量在合适的场合使用单例
使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:
· 控制资源的使用,通过线程同步来控制资源的并发访问;
· 控制实例的产生,以达到节约资源的目的;
· 控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。
2.尽量避免随意使用静态变量
要知道,当某个......
答案就在这里:Java中“性能”问题
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!