日常经验1

优先使用基本类型而不是装箱基本类型

要当心无意识的使用不该使用的装箱基本类型

 @Test
    public  void auto(){
        long start1 = System.currentTimeMillis();
        Long sum1 =0L;
        for (int i = 0; i < Integer.MAX_VALUE; i++) {
            sum1 +=1;
        }
        long end1 = System.currentTimeMillis();
        System.out.println("第一次求和的时长为:"+(end1-start1) + "ms");
        long start2 = System.currentTimeMillis();
        long sum2 =0L;
        for (int i = 0; i < Integer.MAX_VALUE; i++) {
            sum2    +=1;
        }
        long end2 = System.currentTimeMillis();
        System.out.println("第二次求和的时长为:"+(end2-start2) + "ms");

    }

这两个计算结果都是正确的,代码上也基本没有什么差别,但是第一个的计算时长差不多是第二个的100倍。
原因在于sum1的类型为Long,sum2的类型为long。这意味着大约需要构造2^31个多余的Long实例,从而使得sum1计算慢。

上一篇:OpenJ_Bailian - 3468


下一篇:C语言积累、细节