以下代码的性能很差。 我了解到 Calendar API 存在性能问题
long startInMilliSec = measFileCreationTime_OssTime;
Calendar thisMoment = Calendar.getInstance();
long currentInMilliSec = thisMoment.getTime().getTime();
if (currentInMilliSec >= startInMilliSec) {
return (true);
} else {
return (false);
}
有什么替代方案吗?
最佳答案
您可以使用 System.currentTimeMillis()
获取自 1970 年 12 月 1 日以来的当前时间(以毫秒为单位)。减去两个毫秒值可用于获取它们之间的持续时间(以毫秒为单位)。 Calendar 仅在解释此类毫值的年、月等时才需要使用。
如果你想更精确,那么你可以使用 System.nanoTime()
来获得纳米精度。绝对纳米值在这种情况下没有特别的意义,只能用于计算后续取的纳米值之间的时间差。
关于java - 在 Java 中使用日历 API 时性能不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5740441/