首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

System.currentTimeMillis() 竟然存在性能问题?

来源:https://dwz.cn/M1NXgypa 在之前的文章中就提到了,System.currentTimeMillis()并非最佳实践。但是令人没想到的是,除了精度问题,竟还存在性能问题。...System.currentTimeMillis()是极其常用的基础Java API,广泛地用来获取时间戳或测量代码执行时长等,在我们的印象中应该快如闪电。...可见,并发调用System.currentTimeMillis()一百次,耗费的时间是单线程调用一百次的250倍。如果单线程的调用频次增加(比如达到每毫秒数次的地步),也会观察到类似的情况。...实际上在极端情况下,System.currentTimeMillis()的耗时甚至会比创建一个简单的对象实例还要多,看官可以自行将上面线程中的语句换成new HashMap之类的试试看。...不过,在System.currentTimeMillis()的效率没有影响程序整体的效率时,就不必忙着做优化,这只是为极端情况准备的。

2.7K00

System.currentTimeMillis() 存在性能问题...

Java技术栈 www.javastack.cn 关注阅读更多优质文章 作者:LittleMagic 链接:https://www.jianshu.com/p/d2039190b1cb System.currentTimeMillis...可见,并发调用System.currentTimeMillis()一百次,耗费的时间是单线程调用一百次的250倍。 如果单线程的调用频次增加(比如达到每毫秒数次的地步),也会观察到类似的情况。...实际上在极端情况下,System.currentTimeMillis()的耗时甚至会比创建一个简单的对象实例还要多,看官可以自行将上面线程中的语句换成new HashMap之类的试试看。...来到HotSpot源码的hotspot/src/os/linux/vm/os_linux.cpp文件中,有一个javaTimeMillis()方法,这就是System.currentTimeMillis...不过,在System.currentTimeMillis()的效率没有影响程序整体的效率时,就不必忙着做优化,这只是为极端情况准备的。

1.6K20

System.currentTimeMillis()存在性能问题

System.currentTimeMillis()是极其常用的基础Java API,广泛地用来获取时间戳或测量代码执行时长等,在我们的印象中应该快如闪电。...可见,并发调用System.currentTimeMillis()一百次,耗费的时间是单线程调用一百次的250倍。如果单线程的调用频次增加(比如达到每毫秒数次的地步),也会观察到类似的情况。...实际上在极端情况下,System.currentTimeMillis()的耗时甚至会比创建一个简单的对象实例还要多,看官可以自行将上面线程中的语句换成new HashMap之类的试试看。...来到HotSpot源码的hotspot/src/os/linux/vm/os_linux.cpp文件中,有一个javaTimeMillis()方法,这就是System.currentTimeMillis...不过,在System.currentTimeMillis()的效率没有影响程序整体的效率时,就完全没有必要做这种优化,这只是为极端情况准备的。

66210

什么是时区

什么是时区? 1884年在华盛顿召开的一次国际经度会议(又称国际子午线会议)上,规定将全球划分为24个时区(东、西各12个时区)。...规定英国(格林尼治天文台旧址)为中时区(零时区)、东1-12区,西1-12区。每个时区横跨经度15度,时间正好是1小时。 时区的分类? 理论时区 上述时区定义其实是理论时区。...东边的时区时间比西边的时区时间早。 法定时区 复原辽阔的国家,横跨多个时区,常常以国家内部行政分界线为时区界线。这就是实际时区,即法定时区。...比如中国的地理区划,西至75°E,东至135°E,横跨多个时区,然而实际上我们国家法定时区为东八区标准时。...前面提到,理论时区 只包括西 12 区~东 12 区 24 个时区

1.5K20
领券