我正在使用 Tomcat 开发一个动态 Web 项目。有一个全局标志很有用,这是我在开发服务器和部署服务器之间唯一需要更改的东西。该标志的最大用途是与打印语句一起使用。
public class Debug {
public final static boolean DEVEL = true;
public static void print(String message){
if(DEVEL){
System.out.println(message);
}
}
}
我的问题是,java会编译出打印语句吗?即,如果 devel 标签为 false,则消息显然不会打印,但它们会包含在类文件中(devel 是最终的)。这是一个效率问题。我听说 java 编译器非常聪明,但它会接受这一点吗?
使用 'final' 属性(就像你所做的那样),它将编译出代码:
public static final boolean DEVEL = false;
您可以通过 grep 生成的类文件来检查仅在编译代码时才会出现的字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)