java - Java编译器是否优化常量变量计算?

标签 java performance

我想在类中定义一些常量,用于时间管理。 我的类(class)如下所示:

public class TimeManager {
    public static final long SECOND = 1000;
    public static final long MINUTE = SECOND * 60;
    public static final long HOUR = MINUTE * 60;
    public static final long DAY = HOUR * 24;
    .
    .
    .
}

这些常量定义是否存在性能问题?这些值是由 Java 编译器计算的吗?

最佳答案

是的,确实如此:

$ javap -constants TimeManager
Compiled from "TimeManager.java"
public class TimeManager {
  public static final long SECOND = 1000l;
  public static final long MINUTE = 60000l;
  public static final long HOUR = 3600000l;
  public static final long DAY = 86400000l;
  public TimeManager();
}

正如评论者所指出的,但这并不重要。

关于java - Java编译器是否优化常量变量计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43808252/

相关文章:

mysql - 如何改进索引以便在毫秒内执行查询?

html - 在 Web 应用程序中使用 True Type 字体

mysql - 即使是最简单的查询也需要半秒才能访问任何表

java - 数组的非法启动

java - 吉拉 API : How to update test result using Version and Test Cycle?

java - JAVA中的垃圾收集(标记-清除和引用计数)

java - 准备好的语句的 JDBC JAVAFX 日期

java - 列出任何除以五或六的整数

scala - 为什么使用 Kryo 序列化时 Spark 的性能更差?

c - 为什么我的程序中的循环没有终止?