时间格式化工具性能比对

作者: 关捷 | 来源:发表于2018-09-08 21:39 被阅读2次

    工具类各种使用

    1. SimpleDateFormat
      new SimpleDateFormat("yyyyMMdd HH:mm:ss").format(new Date());
    2. DateTime(joda-time)
      DateTime.now().toString("yyyyMMdd HH:mm:ss");
    3. DateFormatUtils(commons.lang3)
      DateFormatUtils.format(new Date(), "yyyyMMdd HH:mm:ss");
    4. LocalDateTime(jdk8)
      LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss"));

    JMH微机准测试

    JMH微机准测试框架不清楚的可以自行Google
    此次测试环境:本机cpu i7 2.6GHz

    方式 吞吐ops/s
    SimpleDateFormat 811176
    DateTime 3677864
    DateFormatUtils 2684990
    LocalDateTime 1366451

    可以看出,Joda对于当前时间的字符格式化性能最好,DateFormatUtils其次。但是对于指定时间进行格式化,Joda并不支持,所以功能有其局限性。相比而言,DateFormatUtils功能相对丰富,静态方法使用简单,也是线程安全,可以说是我们编码时的第一选择。

    相关文章

      网友评论

      • mrzhqiang:第一选择,但是,它是线程安全的吗?
        关捷:@mrzhqiang 线程安不安全要看使用场景,date不安全但也没有被多线程并发修改,在这个场景中属于不变类。你可以研究下源码,看看到底哪个点会造成线程不安全。
        mrzhqiang:@关捷 LocalThread ?可惜 Date 类它是线程不安全的,,,
        关捷:@mrzhqiang simpledateformat线程不安全是由于共享了内存,却没使用锁,而工具类是线程安全,没有使用共享可变的内存,而是使用线程内局部变量,具体你可以自己看看。

      本文标题:时间格式化工具性能比对

      本文链接:https://www.haomeiwen.com/subject/wgnzwftx.html