重学Java之环境变量(path和classpath)

来源:互联网 发布:现货数据行情分析 编辑:程序博客网 时间:2024/06/05 11:09

path告诉操作系统,java相关运行命令的未知;classpath已经被淘汰了。
我是2010年左右开始接触Java,那时候就已经是JDK5.0以上版本了。接触Java的第一件事就是配置环境变量,path和classPath。这两个环境变量我配置了n次,每次从博客园copy了n次,一直不懂这样做的原因,因为许多书里面只让你这么做,从来不说为啥,被坑了好久。最近终于了解清楚了,在这里分享下,希望能帮到新人。

  • 何为环境变量

百度百科的解释是“环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。”如果这个比较抽象,那么简单的理解就是你通过配置,让操作系统知道你输入的命令位置在哪。例如你配置了“d://jiecao.exe”,那么当你在控制台输入“jiecao”时,操作系统回去d盘找这个命令。

  • path是什么?

path就是操作系统存放环境变量的变量,即把环境变量信息存到path里面。因为windows操作系统不区分大小写,所以你不论是path、Path还是PaTh都可以存放环境变量。但是Linux系统是区分大小写的,所以必须是PATH。
通过上面的说明,大家应该可以理解把java_home放进path的理由了,也应该知道把哪些东西放到path里面了。答案是把需要使用的命令,例如Java、javac放到环境变量里面,理由是告诉操作系统去哪里找这些命令。

  • 为什么要配置calsspath

说实话,我学java这么久,一致不太清楚这个干吗的,因为很少有书告诉你他是干啥的,而是直接让你怎么配置。实际上理解起来很简单,环境变量是告诉操作系统命令的位置,那么classPath就是告诉Java虚拟机命令在哪里,例如你要运行hellword.class文件,那么你使用“Java helloword”的时候,java虚拟机就想知道helloword到底在哪?这就是classpath告诉Java虚拟机的。
但是,这个功能只对JDK1.5一下有用,因为JDK1.4没用实现从当前目录查找类文件和从JDK的lib目录下查找dt.jar和tool.jar的功能,所以需要classpath来告诉Java虚拟机这些信息。但是JDK1.5开始,Java虚拟机可以自己做这个事情了,所以完全不需要classpath这个环境变量了。
如果没看懂,可以参考《疯狂Java讲义》的1.5.4和1.6.3章节

0 0