在尝试使用Java时,我发现了一件非常有趣的事情。请查看下面的代码:
public class SimpleTest {
static{
System.out.println(Thread.currentThread().getName());
System.exit(0);
}
}
上述程序没有产生任何异常(很好,因为我已经在静态块中退出了)。但是我得到了以下输出:
main
由于我没有启动主线程,那么它是如何创建的呢?据我的理解,在加载时执行静态块。那么主线程又是怎么出现的呢?
请问有人能够简要介绍一下JVM中的编译、加载和执行过程吗?还有rt.jar的用途是什么?
提前感谢, Brinal