java - 在 Java 中使用日历 API 时性能不佳

标签 java

以下代码的性能很差。 我了解到 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/

相关文章:

java - 使用 JPA 和 Hibernate 时如何解决 LazyInitializationException

java - 如何恢复联系方式?

java - 在字符串化 Double 时,如何抑制整数情况下自动添加 ".0"后缀?

java - 从 application.properties : Attribute value must be constant 读取

java - 如何使 Java .jar 文件在任何环境中都能自动找到

java - Eclipse Memory Analyser,但总是显示发生内部错误?

java - TinkerPop3 在遍历期间更新图

java - 如何从 RAMJobStore 迁移到 JobStoreCMT,以便在 Seam 中持久化 Quartz 作业

java - Java servlet 生成线程以满足请求是否安全?

java - Hibernate hsql 删除的 MySQLIntegrityConstraintViolationException。无法删除或更新父行