• string、stringbuffer、stringbuild的时间性能对比


    新手,请不要喷!谢谢!

    public static void main(String[] args) {
    //stringbuffer是线程安全的,运行速度快于string,慢于stringbuild,考虑到运行速度快慢选stringbuild,考虑到安全问题用stringbuffer,为何stringbuffer这个看源码吧,很简单的一个单词,区别了stringbuffer和stringbuild,和运用场景
    //检测string的运行速度
    String str = "0123456789";
    int count = 100000;

    String str2 = "";
    long start = System.currentTimeMillis();
    for (int i = 0; i < count; i++) {
    str2 += str;
    }
    long end = System.currentTimeMillis();
    long time = (end - start);
    System.out.println("string速度:"+time);

    //检测stringbuffere的运行速度
    StringBuffer stringBuffer = new StringBuffer();

    Long start1 = System.currentTimeMillis();
    for (int i = 0; i < count; i++) {
    stringBuffer.append(str);
    }
    Long endtime = System.currentTimeMillis();
    long time1 = endtime-start1;
    System.out.println("stringbuffer速度:"+time1);

    //检测stringbuild速度
    StringBuilder stringBuilder = new StringBuilder();
    long startbuild = System.currentTimeMillis();
    for (int i = 0; i < count; i++) {
    stringBuilder.append(str);
    }
    long endStringbuild = System.currentTimeMillis();
    long timebuild = endStringbuild- startbuild;
    System.out.println("stringbuild速度:"+timebuild);
    }
    }

    打印:

    string速度:38545
    stringbuffer速度:2
    stringbuild速度:2

    看出来了吧,这里我就不解释了!

  • 相关阅读:
    SSM中(Spring-SpringMVC-Mybatis)(一:概念)
    java中的==和equals()
    JAVA之二叉查找树
    Java中堆与栈
    java的运行机制(基础)
    覆盖(重写),重构,重载的区别
    JAVA多线程基础
    java中的类修饰符、成员变量修饰符、方法修饰符
    JAVA中的流程控制语句
    JAVA中的构造函数
  • 原文地址:https://www.cnblogs.com/zlazm/p/7896433.html
Copyright © 2020-2023  润新知