我有2个罐子,我们称它们为a.jar和b.jar。
b.jar取决于a.jar。
在a.jar中,我定义了一个类,我们称它为StaticClass。在StaticClass中,我定义了一个静态块,调用了一个名为“ init”的方法:
public class StaticClass {
static {
init();
}
public void static init () {
// do some initialization here
}
}
在b.jar中,我有一个main,因此在main中,我希望已经调用了init()方法,但实际上没有。我怀疑这是因为jvm尚未加载StaticClass,谁能告诉我
- 我的结论正确吗?
- 是什么触发了jvm加载类?
- 如何获得自动执行的静态块?
谢谢