解决方案 »

  1.   

    //SynchronizedMethod.javapublic class SynchronizedMethod{ public static void main(String[] args){
    long start_time = System.nanoTime();
    System.out.println(getA() + "---" + (System.nanoTime() - start_time));
    long now_time = System.nanoTime();
    System.out.println(getB() + "---" + (System.nanoTime() - now_time));
    }

    synchronized static String getA(){
    return "AAAAAAAAAA";
    }

    static String getB(){
    return "BBBBBBBBBBB";
    }
    }使用上面这样的测试程序,结果如下:D:\TempSource>java SynchronizedMethod
    AAAAAAAAAA---30486
    BBBBBBBBBBB---6943
    发现调用synchronized关键字的方法调用确实会花费更多的时间开销。
    两个测试结果不一致,原因是什么呢?
      

  2.   

    不正是因为是顺序执行的才好测试调用有synchronized的和没有synchronized的方法的个自所花费的时间吗?