我们已经知道 java 是通过 java 虚拟机来解释运行的, 也就是通过 java 命令, javac 编译生成的 .class 文件就是虚拟机要执行的代码, 称之为字节码(bytecode), 虚拟机通过 classloader 来装载这些字节码, 也就是通常意义上的类. 这里就有一个问题, classloader 从 哪里知道 java 本身的类库及用户自己的类在什么地方呢? 或者有着缺省值(当前路径) . 或者要有一个用户指定的变量来表明, 这个变量就是类路径(classpath), 或者在运行 的时候传参数给虚拟机。
根据Java规定,CLASSPATH必须转向比包文件储存目录高一级的目录。