【发布时间】:2015-05-04 19:05:02
【问题描述】:
如果一个方法需要在每次调用时使用当前日/月/年的值,并且每秒调用数次(数百万或更多)次,除了创建每次调用当前时间的 Calendar 对象?
使用Calendar.getInstance() 或calendar.setTime()(使用时间字段重新计算)每秒执行多次操作过于昂贵。
标准 Java 解决方案更可取(例如,优于使用第三方库)。
【问题讨论】:
-
废话。这是一个纳米优化,我敢肯定你无法测量。您的其余代码可能效率低得多。分析您的代码并解决大问题。在您有数据表明这是一个大问题之前,请不要为此烦恼。
-
就像 duffymo 说的,你有实际数据支持这个理论吗?
-
也许您应该发布“每秒多次”。代码
-
Calendar.getInstance()方法在特定测试系统中每秒可实现大约 1,000,000 到 2,000,000 次调用。有些用例每秒需要比这些数字更多的调用。