Java程序的运行过程的一个简单的示意图如下:

首先,ClassLoader将xxx.class文件加载到code segment中,然后找到main()函数开始执行,在程序运行过程中,会有更多的class被load到内存。需要注意的是需要一个类时再加载一个类,而不是事先就加载所有的类。这叫做动态加载机制。
public class Reflection {
public static void main(String[] args) {
new A();
System.out.println("-------------");
new B();
}
}
class A {
}
class B {
}
在以上例程当中,程序运行到new A()这一行时会将A.class加载到内存当中,然后打印“-------”,打印完之后发现还需要B.class,才会再去加载B.class。
本文通过一个简单的Java程序示例,详细解释了Java的动态加载机制。程序在运行时按需加载类,而非一次性加载所有类,提高了资源利用效率。
2522

被折叠的 条评论
为什么被折叠?



