不确定静态变量.
import java.io.File;
public class Logger {
public static final File log = new File(File.listRoots()[0], "log.log");
public static void log (String message) {
/* ... */
}
}
Run Code Online (Sandbox Code Playgroud)
变量是否log在程序的整个生命周期中指向相同的内存?基本上是log定义new File(File.listRoots()[0], "log.log")计算多次或只是一次,何时?
提前致谢.
Boz*_*zho 11
每个类加载器调用一次.通常,这意味着一次.
一旦类声明它被类加载器加载,静态变量就被初始化,并保持在那里直到类加载器被销毁,这在大多数情况下意味着 - 在程序执行/应用程序生命周期结束时.