博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 基础知识 path和classpath
阅读量:2208 次
发布时间:2019-05-04

本文共 801 字,大约阅读时间需要 2 分钟。

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


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

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

转载地址:http://poiyb.baihongyu.com/

你可能感兴趣的文章
linux之CentOS下文件解压方式
查看>>
Django字段的创建并连接MYSQL
查看>>
div标签布局的使用
查看>>
HTML中表格的使用
查看>>
(模板 重要)Tarjan算法解决LCA问题(PAT 1151 LCA in a Binary Tree)
查看>>
(PAT 1154) Vertex Coloring (图的广度优先遍历)
查看>>
(PAT 1115) Counting Nodes in a BST (二叉查找树-统计指定层元素个数)
查看>>
(PAT 1143) Lowest Common Ancestor (二叉查找树的LCA)
查看>>
(PAT 1061) Dating (字符串处理)
查看>>
(PAT 1118) Birds in Forest (并查集)
查看>>
数据结构 拓扑排序
查看>>
(PAT 1040) Longest Symmetric String (DP-最长回文子串)
查看>>
(PAT 1145) Hashing - Average Search Time (哈希表冲突处理)
查看>>
(1129) Recommendation System 排序
查看>>
PAT1090 Highest Price in Supply Chain 树DFS
查看>>
(PAT 1096) Consecutive Factors (质因子分解)
查看>>
(PAT 1019) General Palindromic Number (进制转换)
查看>>
(PAT 1073) Scientific Notation (字符串模拟题)
查看>>
(PAT 1080) Graduate Admission (排序)
查看>>
Play on Words UVA - 10129 (欧拉路径)
查看>>