JVM在加载特定类时是否加载所有使用的类?

时间:2011-04-18 11:53:12

标签: java classloader jls

当JVM加载A类时,它是否加载A?中使用的所有类 而且我想知道导入声明是否与加载过程有关?

欢迎使用JLS链接。

3 个答案:

答案 0 :(得分:8)

导入和类加载不相关。前者只是保存了输入:它允许您在代码中使用短类名而不是完全解析的类名。

第一次使用时,JVM会加载类。

答案 1 :(得分:1)

import只是帮助程序员。编译类文件时,变量的限定名称存储在.class文件中,以便JVM知道需要加载什么。

http://java.sun.com/docs/books/jvms/second_edition/html/Concepts.doc.html#21410 第2.17.1节“虚拟机启动”

答案 2 :(得分:0)

导入类是用户和编译器的标记。使用import不会加载类。 JVM仅在引用时加载类,如果不需要类,则类不会在编译时或运行时加载它。