【发布时间】:2011-09-05 11:46:27
【问题描述】:
我在尝试使用 java 时发现了一件非常有趣的事情。请在下面找到代码:
public class SimpleTest {
static{
System.out.println(Thread.currentThread().getName());
System.exit(0);
}
}
上面的程序运行没有任何异常(很好,因为我正在退出静态块本身)。但我得到以下输出:
主要
由于我还没有启动主线程,它是如何创建的。根据我的理解,静态块是在加载期间执行的。那么主线程是如何出现的呢?
谁能简单介绍一下jvm是如何编译、加载和执行的?还有用rt.jar吗?
提前致谢, 卤水
【问题讨论】:
-
关于附加问题(编译、加载、执行、rt.jar):它们无关,不属于这里。我建议您阅读一些基本材料,然后然后提出更具体的问题。
标签: java jvm static-block