当 JVM 加载一个类 A 时,它会加载 A 中使用的所有类吗?
我想知道进口声明是否对加载过程很重要?
到 JLS 的链接将不胜感激。
导入和类加载无关。前者只是节省了输入:它允许您在代码中使用短类名而不是完全解析的类名。
类在第一次使用时由JVM加载。
import
只是帮助程序员。编译类文件时,变量的限定名称存储在 .class 文件中,因此 JVM 知道它需要加载什么。
http://java.sun.com/docs/books/jvms/second_edition/html/Concepts.doc.html#21410 第 2.17.1 节“虚拟机启动”
导入类是用户和编译器的标志。使用 import 不会加载类。JVM 仅在引用类时才加载类,并且如果不需要这些类,则该类不会在编译时或运行时加载它。