目前我有一个类,内容如下 effectively constant 字段。
private static final long ACTIVITY_TIMEOUT_MS = 1 * 60 * 1000;
这很好,但仍然不是世界上最可读的代码。我更愿意使用以下内容:
private static final long ACTIVITY_TIMEOUT_MS = TimeUnit.MINUTES.toMillis(1);
这清楚地表明我希望时间为 1 分钟,但字段为毫秒。
我的问题是编译器或者混淆器会修复这个问题,这样就不会影响性能吗?如果性能会受到影响,我是否可以预期该类的每个实例都会受到一次影响?
最佳答案
是的,这将是对类加载的一次性影响,并且它只占类加载的一小部分,甚至可能无法根据加载类的开销来衡量。
不,编译器无法弄清楚,如果 ProGuard 可以,我会感到相当惊讶,但这并不重要。
关于java - Proguard 或编译器会预先计算 TimeUnit.Minutes.toMillis(120),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29806758/