java中path和classpath_java中的环境变量path和classpath的作用-Go语言中文社区

path:

提供windows命令行中java指令的可执行文件路径,当我们在命令行中键入指令时,根据环境变量中的path值,找到对应的指令可执行文件进行执行,在我的电脑上java的path值为:

62605b5ce2ab4993e37074119908258d.png

打开路径所指文件夹后:

2fb638e60e7f6cec9701292f328279fd.png

红线所指处为自己常用指令的可执行文件。

classpath:

当我编译好一个java文件后,运行,JVM如何知道这个java文件对应的class文件在哪呢?classpath的作用就是通知JVM用户类的存放路径。在我的电脑上classpath的值为:

0e6165bc4475a76a648089116b3635b4.png

当运行我们的java程序(以下均指A)时,JVM会首先在当前目录下查找A,接着会到C:Javajdk1.8.0_144lib查找A,需要注意,.号表示当前目录,上述两个路径代表JVM查找A时的顺序,即先到当前目录下查找,然后到C:Javajdk1.8.0_144lib下查找,若我们去掉.号(即只留下C:Javajdk1.8.0_144lib),JVM查找A的顺序为先到C:Javajdk1.8.0_144lib查找,接着会默认到当前目录查找!以上结论为实验后得出,实验方案如下:

实验方案

实验将进行三次,对应的classpath如下:

1、.;C:Javajdk1.8.0_144lib

2、C:Javajdk1.8.0_144lib;.

3、C:Javajdk1.8.0_144lib

在C:Javajdk1.8.0_144lib下,保存Try.class文件,对应代码如下:

public class Try {

public static void main(String[] args) {

System.out.println("这是保存在C:\Java\jdk1.8.0_144\lib的Try.class文件");

}

}

在E盘同样保存Try.class文件,对应代码如下:

public class Try {

public static void main(String[] args) {

System.out.println("这是保存在E盘的Try.class文件");

}

}

接下来开始实验:

1、classpath为:.;C:Javajdk1.8.0_144lib

7a0324fbf906a86d1897b58e7e8ec36c.png

2、classpath为:C:Javajdk1.8.0_144lib;.

bbb7a9c3b671aeb8214c746d9c6c6e5f.png

3、classpath为:C:Javajdk1.8.0_144lib

此时删去保存在C:Javajdk1.8.0_144lib的Try.class文件

99083aab4430c470107cf82238055d77.png

每次我们更改完classpath后一定要重新启动命令行


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部