我在OSX的主目录中有这个文件:
public class TestClass {
public static void main(String[] args){
System.out.println("Hello World");
}
}
在Bash中我正在运行:
Korays-MacBook-Pro:~ koraytugay$ javac TestClass.java
Korays-MacBook-Pro:~ koraytugay$ java TestClass
Hello World
但我想知道虚拟机实例如何从CLASSPATH加载System,因为我的CLASSPATH环境变量没有值:
Korays-MacBook-Pro:~ koraytugay$ echo $CLASSPATH
好吧,它返回一个空行。没有。当echo $ PATH我会看到:
Korays-MacBook-Pro:~ koraytugay$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
java本身就在:
Korays-MacBook-Pro:~ koraytugay$ whereis java
/usr/bin/java
所以在Windows中,据我所知,java会查找CLASSPATH的目录。它在OSX中如何工作? Java如何在没有CLASSPATH变量的情况下加载类?
答案 0 :(得分:1)
除了类路径,引导类加载器从/ jre / lib和/ jre / lib / ext(core libraries)加载link。
您可以在运行时检查类路径,如下所示:
System.out.println(System.getProperty("java.class.path"));