gpt4 book ai didi

java - 强制 Java 编译器不内联最终静态字段

转载 作者:行者123 更新时间:2023-12-01 13:21:08 25 4
gpt4 key购买 nike

我发现有时(如果不是总是)静态最终字段会在字节码级别内联。出于某种原因,我不喜欢这种情况发生。如何关闭此编译选项?特别是在 Eclipse 4 中。(无需触及源代码。)

谢谢

最佳答案

我不知道编译时选项。

Puzzle 93: Class Warfare,在Java Puzzlers一书中讨论了这个问题。由于 null 没有“内联”,因此可能会产生错误。

有一种解决方法可以通过不执行任何操作的函数来引用它们,例如:

public class Words {

private Words() { }; // Uninstantiable
public static final String FIRST = ident("the");
public static final String SECOND = ident(null);
public static final String THIRD = ident("set");

private static String ident(String s) {
return s;
}

}

显然,这需要大量修改您的源代码。不是你想要的...

要么buy the book ,或see here for a more complete discussion

关于java - 强制 Java 编译器不内联最终静态字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22023169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com