在 Java 中,使用对性能和资源的影响是什么
System.currentTimeMillis()
对比
new Date()
对比
Calendar.getInstance().getTime()
据我了解,System.currentTimeMillis()
是最有效的。但是,在大多数应用程序中,需要将 long 值转换为 Date 或一些类似的对象才能执行对人类有意义的任何事情。
最佳答案
System.currentTimeMillis()
显然是最高效的,因为它甚至不创建对象,但 new Date()
确实是只是一个大约很长的薄 wrapper ,所以它离后面不远了。另一方面,Calendar
相对较慢且非常复杂,因为它必须处理相当复杂的日期和时间(闰年、夏令时、时区、等等)。
通常最好只处理应用程序中的长时间戳或 Date
对象,并且仅在实际需要执行日期/时间计算时才使用 Calendar
,或格式化日期以向用户显示它们。如果你必须做很多这样的事情,使用 Joda Time可能是个好主意,因为界面更简洁,性能更好。
关于java - System.currentTimeMillis() vs. new Date() vs. Calendar.getInstance().getTime(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/368094/