java中的环境变量path和classpath的作用

path:


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



打开路径所指文件夹后:

java中的环境变量path和classpath的作用_第1张图片

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


classpath:


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

java中的环境变量path和classpath的作用_第2张图片

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


实验方案


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

1、.;C:\Java\jdk1.8.0_144\lib

2、C:\Java\jdk1.8.0_144\lib;.

3、C:\Java\jdk1.8.0_144\lib


在C:\Java\jdk1.8.0_144\lib下,保存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:\Java\jdk1.8.0_144\lib



2、classpath为:C:\Java\jdk1.8.0_144\lib;.



3、classpath为:C:\Java\jdk1.8.0_144\lib

此时删去保存在C:\Java\jdk1.8.0_144\lib的Try.class文件



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


你可能感兴趣的:(java中的环境变量path和classpath的作用)