12.1 Java 类加载机制
前面我们给大家介绍过 JVM 的功能(提供运行时环境、垃圾回收机制和提供中立的体
系结构)。在提供运行时环境中有个子功能是 ClassLoader(类加载器),它主要用于将主
类(即包含了 main 方法的类)加载到 JVM 的 code segment(代码区)。然后运行环境找到
main 方法(程序入口)开始执行程序。在整个程序运行的过程中,会有更多的 class 被动态
Load 到内存中。类加载机制如图 12-1 所示:
图 12-1 类加载机制
需要注意的是:类并非一次性就全部加载完毕,而是在需要的时候(运行期间)动态
加载到内存。利用 java -verbose:class Test 可以观察类的具体加载过程。
实例如下:
class A{
static {
System.out.println("A is loaded~");
}
}
public class Test {
static {
System.out.println("主类被加载~");
}
public static void main(String[] args)
{
System.out.println("进入主方法");
try{
Thread.sleep(10000);
}catch(Exception e){
}