0

我需要知道运行用户程序时 JVM 遵循什么顺序。假设用户创建了一个程序Runner.java并为此创建了一个名为runner.jar的 jar 文件。

现在如果我

set classpath=%classpath%;c:\myapp.jar;%Java_Home%\lib\core.jar;runner.jar;

我从命令行运行程序:

java Runner

程序运行。我需要知道 JVM 将来自 JVM 基础库 -> 当前目录 -> 类路径序列,然后它将运行程序或它将遵循的其他序列。

程序的查找顺序是什么?

4

1 回答 1

1

加载顺序

这是顺序:

在此处输入图像描述

当前目录与类路径

默认情况下,当前目录是类路径。但是,一旦您设置了 CLASSPATH 环境变量,它将不再被搜索

默认的类路径是当前目录。设置 CLASSPATH 变量或使用 -classpath 命令行选项会覆盖该默认值,因此如果要将当前目录包含在搜索路径中,则必须包含“。” 在新设置中。

如果要包含当前目录,请添加一个点。

在此处输入图像描述

类路径是按顺序搜索的。如上例所示,您可以将其移动到任何位置以控制是否要先搜索或最后搜索它。

于 2013-04-27T12:39:41.173 回答