System.currentTimeMillis() vs. new Date() vs. Calendar.getInstance().getTime()

来源:互联网 发布:侠客风云传优化差 编辑:程序博客网 时间:2024/05/21 16:21

在Java中,使用的性能和资源含义是什么

System.currentTimeMillis() 

new Date() 

Calendar.getInstance().getTime()

System.currentTimeMillis()显然是效率最高的,因为它甚至不创建一个对象,但new Date()实际上只是一个很长的包装器,所以它并不遥远。Calendar另一方面,相对较慢和非常复杂,因为它必须处理日期和时间(闰年,夏时制,时区等)固有的相当复杂和所有的古怪。

Date在应用程序中只处理较长的时间戳或对象通常是一个好主意,只有Calendar在实际需要执行日期/时间计算时才使用,或者格式化将日期显示给用户的日期。如果你必须做很多这样的事情,那么使用Joda Time可能是一个好主意,因为界面更干净,性能更好。

Calendar.getInstance().getTime() (*1000000 times) = 402ms
new Date().getTime(); (*1000000 times) = 18ms
System.currentTimeMillis() (*1000000 times) = 16ms
时间比较,,,所以,System.currentTimeMillis()方式最优
阅读全文
0 0