我知道并且也经历过JVM做延迟加载类,也就是说,即使导入了类,如果不使用该类,也不会加载它,只有在主动需要它时才加载它。
我不确定JDK是否经常使用这种延迟加载策略,或者在某些情况下会使用其他实现,任何JDK规范或文档都明确说明了这一点?
我有这个问题是因为我发送的类导入了一些不存在且不会被使用的类。
答案 0 :(得分:0)
以下程序说是,
package code;
import code.one.Test1;
public class code {
public static void main(String[] args) {
Test1 test1=null;
}
private static void callmethod() {
}
}
package code.one;
public class Test1 {
static{
System.out.println("hello");
}
}
但是在main方法中如果你编写Test1 test1 = new Test1();而不是Test1 test1 = null;你会得到o / p