Java 基础知识 path和classpath

path 和classpath 都是环境变量

一:Path

path 是为了(javac.exe, java.exe, javadoc.exe 等)能直接使用而设置的环境变量

javac hello.java

不然,需要输入 javac.exe 的绝对路径


二:classpath

classpath 是一个环境变量,其作用是告诉类加载器,在classpath这个环境变量指向的文件夹里

可能会有所需的class 文件(像用户自己定义的类编译出来的.class文件)

仅此而已!!!!

我看到网上有很多人说这个东西多么重要

(rt.jar <runtime.jar>这样的必须的库需要包含在classpath 中)

其实并不

JDK 本就是包含了JRE(他们的关系可以参考这篇文章:链接

JVM 需要rt.jar 里的类库,直接到JDK目录下的JRE文件夹找就行了,根本不用我们去配置环境变量

我去了Oracle 官网的文档查了classpath 的相关说明

其篇幅并不长

这里是链接


然后我还做了相关的测试------

我在纯洁的虚拟机里,新安装了JDK1.8,没有配置classpath 环境变量,然后编译运行Java 程序

public class hello {
	public static void main(String [] agrs) {
		System.out.print("hello world");
	}
}

程序正常运行


另外,我还做了一个测试,就是在classpath 中放 jar 包

然而,结果是不可行,类加载器并没有再到 jar 包内去找类

报错:JSONObject cannot be resolved to a type

jar包的使用


然后,在测试中我还发现,类加载器在加载类的时候会优先加载classpath 里的class 文件

当前目录的class 文件优先级反而没那么高

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值