java配置jdk和jre_为什么要配置java环境变量?JDK和JRE的区别在哪里?

86124858_1

凡是用过java开发的开发人员,一定对java环境变量的配置不陌生,那么究竟为什么要配置java环境变量呢?

首先看看我们的三变量:?

变量名:JAVA_HOME

变量值:jdk路径

变量名:PATH

变量值:%JAVA_HOME%\bin;

%JAVA_HOME%\jre\bin

变量名:CLASSPATH

?

变量值:%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar?

实际上,三变量的作用是:?

JAVA_HOME:

1、为了方便引用,比如,你JDK安装在C:\Program

Files\Java\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径, 那么以后你要使用这个路径的时候,

只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串;

2、归一原则, 当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可,

否则,你就要更改任何用绝对路径引用JDK目录的文档, 要是万一你没有改全, 某个程序找不到JDK,

后果是可想而知的----系统崩溃!

3、第三方软件会引用约定好的JAVA_HOME变量, 不然, 你将不能正常使用该软件, 以后用JAVA久了就会知道,

要是某个软件不能正常使用, 不妨想想是不是这个问题.

PATH:

1、这个变量的作用很简单, 你想在任何时候都使用%JAVA_HOME%\bin\java 等来执行java命令吗, 当然不会,

于是, 你可以选择把 %JAVA_HOME%\bin添加到PATH路径下, 这样,

我们在任何路径下就可以仅用java来执行命令了.(当你在命令提示符窗口输入你个代码时,操作系统会在当前目录和PATH变量目录里查找相应的应用程序,

并且执行.

CLASSPATH:

1、这是一个很有趣,当然也比较折磨初学者的问题, 这个变量设置的目的是为了程序能找到相应的".class"文件, 不妨举个例子:

你编译一个JAVA程序---A.java, 会得到一个A.class的类文件,你在当前目录下执行java A,

将会得到相应的结果(前提是你已经设置CLASSPATH为"."). 现在, 你把A.class移到别的目录下(例如:"e:\"),

执行java A, 将会有NoClassDefFindError的异常,原因就是找不到.class文件,

现在你把CLASSPATH增加为:".;e:\"再运行java A, 看看会有什么结果~~:)~~~, 一切正常,

java命令通过CLASSPATH找到了.class文件!?

2、前面的“.”不可少,它代表了我们为自己的java类建立的工作路径,其它的是jdk自带的标准类库路径。?

JRE与JDK的区别:

JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,(JDK包含了java虚拟机,java编译器等等)因此对JAVA_HOME设置为JDK的路径时也可以正常运行Java程序,但是JDK比较大包括了许多与运行无关的内容,因此运行普通的Java程序无须安装JDK。

但是用了Eclipse又有了疑问,为什么这个开发环境JRE就可以正常运行呢?其实在Eclipse中内嵌了Java编译器,并且与JDK中的javac完全相容,因此无须使用JDK也可以直接编译Java程序。

学习J2EE的时候又开始不明白,为什么Tomcat和Apusic用JRE就可以启动,Weblogic用JDK才能启动呢?原因是Tomcat和Apusic

4都已经包括了一个源代码编译器,而Weblogic没有包括这个编译器包。那么为什么需要编译器呢?因为在WEB应用中JSP文件是需要转换成Servlet,这个Servlet文件还需要编译成可以在JRE上执行的class文件,因此必须提供有编译能力的JDK,将JAVA_HOME设置为JDK的路径就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值