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

本文详细介绍了Java环境变量path和classpath的作用。path用于指示命令行中执行Java指令的路径,而classpath则告诉JVM用户类文件的位置。通过实验展示了不同classpath设置下,JVM查找class文件的顺序,强调了.号代表当前目录的重要性。实验结果显示,.号的顺序影响查找路径的优先级。
摘要由CSDN通过智能技术生成

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后一定要重新启动命令行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值