下面是我的代码片段:
class A {
private boolean debug = false;
// Called when server boots up.
public void init (property) {
debug = property.getBoolean ("debug_var"); // read debug from a config file.
}
// some other function
public void foo () {
if (debug) {
System.out.println ("From inside the debug block");
}
}
}
当我运行代码时, if (debug) 实际上在配置文件中打印出“从内部调试块”如果 debug == true。
两个问题:
那么,在这种情况下,编译器是否将 if 块包含在 .class 文件中只是因为变量 debug 的值可能会在运行时发生变化?
如果这是真的,那么如何在某些环境中消除将某些代码添加到 .class 文件中?