原文:并发慎用——System.currentTimeMillis()

好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受. System.currentTimeMillis 是极其常用的基础Java API,广泛地用来获取时间戳或测量代码执行时长等,在我们的印象中应该快如闪电。但实际上在并发调用或者特别频繁调用它的情况下 比如一个业务繁忙的接口,或者吞吐量大的需要取得时间戳的流式程序 ,其性能表现会令人大跌眼镜。直接看下面的Demo。 ...

2021-03-06 15:42 0 394 推荐指数:

查看详情

System.currentTimeMillis()

获取标准时间可以通过System.currentTimeMillis()方法获取,此方法不受时区影响,得到的结果是时间戳格式的。例如: 1543105352845 我们可以将时间戳转化成我们易于理解的格式 SimpleDateFormat formatter= new ...

Tue Sep 03 03:11:00 CST 2019 0 406
并发场景下System.currentTimeMillis()的性能优化

一、前言 System.currentTimeMillis()的调用比new一个普通对象要耗时的多(具体耗时高出多少我也不知道,不过听说在100倍左右),然而该方法又是一个常用方法, 有时不得不使用,比如生成wokerId、打印日志什么的,在高并发情形下肯定存在性能问题的,但怎么做 ...

Mon Jun 18 22:07:00 CST 2018 0 2854
并发场景下System.currentTimeMillis()的性能问题的优化

前言 System.currentTimeMillis()的调用比new一个普通对象要耗时的多(具体耗时高出多少我也不知道,不过听说在100倍左右),然而该方法又是一个常用方法,有时不得不使用,比如生成wokerId、打印日志什么的,在高并发情形下肯定存在性能问题的,但怎么做才好 ...

Sun Apr 15 07:53:00 CST 2018 0 2809
java的 System.currentTimeMillis() 与时区

System.currentTimeMillis() 获取的是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。 当前计算机时间是跟你的计算机所在时区是有关的!!! 故当前计算机 ...

Thu Nov 12 18:24:00 CST 2020 0 1442
System.currentTimeMillis()的性能问题

一直觉得java原生API都是性能很高的,今天看一篇博客时,说到System.currentTimeMillis()的性能十分低下,觉得很奇怪,于是写了一些代码来尝试了一下 执行结果如下: 可见System.currentTimeMoillis一百次耗费的时间非常大 ...

Wed Apr 15 00:42:00 CST 2020 1 2368
System.nanoTime()与System.currentTimeMillis()的区别

System.nanoTime()的初始值是在本JVM实例启动时"随机"选择的一个数字,随着JVM的运行而递增(常用来计算实时时间差),System.currentTimeMillis表示系统时间,这就导致了的它们的几个差别 ...

Thu Apr 14 22:31:00 CST 2022 0 686
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM