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

本文深入解析了Java环境变量path和classpath的作用及配置方法,并通过实验验证了不同classpath设置下Java程序搜索类文件的顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

path:


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



打开路径所指文件夹后:


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


classpath:


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


当运行我们的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后一定要重新启动命令行


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值