我在尝试使用 java 时发现了一件非常有趣的事情。请在下面找到代码:
public class SimpleTest {
static{
System.out.println(Thread.currentThread().getName());
System.exit(0);
}
}
上面的程序运行没有任何异常(很好,因为我正在退出静态块本身)。但我得到以下输出:
主要的
由于我还没有启动主线程,它是如何创建的。根据我的理解,静态块是在加载期间执行的。那么主线程是如何出现的呢?
谁能简单介绍一下jvm中的编译,加载和执行是如何完成的?还有用rt.jar吗?
在此先感谢,布林纳