我知道$CLASSPATH
包含一个路径列表,其中Java编译器查找jar文件以使用它们的类。
当我输入:echo $CLASSPATH
时,我得到一个空行,意味着CLASSPATH
为空。
现在,我编写了以下代码:
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("Hello");
System.out.println(arrayList);
}
}
并使用以下命令编译它:
javac Main.java
文件编译成功。如果CLASSPATH
为空,那么java编译器如何找到类java.util.ArrayList
?
答案 0 :(得分:2)
来自Oracle文档:
CLASSPATH变量是一种告诉应用程序的方法,包括 JDK工具,在哪里查找用户类。 (属于的类别 JRE,JDK平台和扩展应该通过其他来定义 意味着,例如引导类路径或扩展目录。)
因此,classpath
实际上是用户类,而ArrayList
是JDK的一部分。另外:
类路径的默认值是&#34;。&#34;,表示只有 搜索当前目录
有关完整说明,请查看此处:java paths。