A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

JAVAHOME  PATH,CLASSPATH 在配置环境变量时又分别有什么区别,起什么作用呢?
ps:之前安装jdk是都是按照网上教程装,可从没想过它们的区别!!

7 个回复

倒序浏览
1、首先搞明白内部命令与外部命令的区别
在学习编程过程中经常遇到这样的概念:
内部命令
启动后是常住内存的。
用dos的时候内存都比较小,非常贵,而内部命令启动后是常住内存的。
外部命令
内部直接打就可以执行,外部得进到命令所在的目录或者设置环境变量才可以执行.
在java开发中设置的环境变量就解决这个问题的

2、环境变量的含义(注意:java环境变量设置不分大小写)

1、java_home(不分大小写),其实这是保存你的jdk安装的路径, (这主要是在路径设置时,使其更为直观和方便,使用%%可以实现对其的逆解析)
例如:D:\Java\jdk1.5.0_05

2、Path:外部命令搜索路径(它与ClassPath不同,主要提供的是系统命令执行工具的路径,即用于执行命令的.EXE程序,如java、javac,一般不轻易改变)
例如:D:\Java\jdk1.5.0_05\bin
例如:%JAVA_HOME%\BIN; 当你改变javahome时却不必影响到path你设java_home时不用经常改变path,java_home在path里只是一个相对路径
当你重装jdk的时候只需要修改一下 java_home 不必修改path

3、CLASSPATH:类资源位置搜索路径(这是命令执行工具要执行的类文件的地址,java会首先在当前目录Lib下寻找(一般开始就设定了的),如果未找到,则会到CLASSPATH指定的目录下进行寻找。由于是要执行的。class文件,所以其经常要变化,在使用Eclipse等IDE时,由系统自动的根据其位置进行配置。在非IDE方式下,则需要进行手动的配置。)

CLASSPATH: .;D:\jdk1.5.0\lib\tools.jar;D:\jdk1.5.0\jre\lib\rt.jar;
注意细节你的系统可能已经有其他的软件设置了path:

程序代码
.;D:\jdk1.5.0\lib\tools.jar;D:\jdk1.5.0\jre\lib\rt.jar;
其中的PATH和CLASSPATH是java为所有的应用程序提供的,PATH用于指出命令执行工具的位置(搜寻路径),如java、javac,而ClassPath用于指定需要被命令工具执行的资源文件的位置。
回复 使用道具 举报
JAVAHOME保存的值就是JDK路径这个很简单对吧,那么与PATH有什么关系呢,看下边吧
例:
变量名:JAVA_HOME
值:D:\jdk1.8.0_20
而我们平时使用的诸如java/javac等命令都是存放于jdk1.8.0_20\bin下的
如果我们直接在命令行下执行这些命令是不可识别的,因为windows系统找不到,你要明确的告诉系统去哪里找,即给它路径
那么我们就会给PATH变量添加JDK\bin的路径即可
如:
%JAVA_HOME%\bin
综上所述,其实目的只有一个,就是告诉系统这些命令要到哪里去找
而%JAVA_HOME%\bin这个值中两个百分号间的JAVA_HOME就是第一步设置的变量,其值就是JDK路径,那么得到的值就是:D:\jdk1.8.0_20\bin
了解这些后你就会明白,第一步完全可以省略掉,只要在PATH里直接添加D:\jdk1.8.0_20\bin即可,那么为什么还要第一步呢,其实很简单,仅是为了以后更改或添加路径方便,因为PATH里面的值太长太多了,我们只要通过更改JAVA_HOME的值即可
至于CLASSPATH记得在1.5以后的JDK版本都可以不设置的
回复 使用道具 举报
我是来看回复的
回复 使用道具 举报
我本来是想回复的,一看上面写的比我还详细,我就不献丑了:P
回复 使用道具 举报
配置path作用是,让java文件能够在任意目录下执行
classpath作用是让java的字节码文件可以在任意目录下执行
回复 使用道具 举报
看过之后,又学习了
回复 使用道具 举报
看过之后 又学习了,果然学无止境。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马