Java环境变量的作用

来源:互联网 发布:ghost 数据恢复 编辑:程序博客网 时间:2024/05/01 18:59

Java的环境变量有三个,分别是JAVA_HOMEPATHCLASSPATH

一般设置为:

JAVA_HOME=D:/Java/jdk_1.6.0.03                //即JDK的安装目录

PATH=%JAVA_HOME%/bin

CLASSPATH=.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar

E:/Java>echo %PATH%
C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;D:/Java/jdk1.6.0_03/bin

E:/Java>echo %JAVA_HOME%
D:/Java/jdk1.6.0_03

E:/Java>echo %CLASSPATH%
.;

E:/Java>dir
 驱动器 E 中的卷没有标签。
 卷的序列号是 1508-7A22

 E:/Java 的目录

2007-10-29  23:15    <DIR>          .
2007-10-29  23:15    <DIR>          ..
2007-10-29  22:47               192 HelloDate.java
               1 个文件            192 字节
               2 个目录  6,985,478,144 可用字节

E:/Java>type HelloDate.java
// HelloDate.java
import java.util.*;

public class HelloDate
{
        public static void main(String[] args)
        {
                System.out.print("Hello, it's: ");
                System.out.println(new Date());
        }
}

E:/Java>javac HelloDate.java

E:/Java>dir
 驱动器 E 中的卷没有标签。
 卷的序列号是 1508-7A22

 E:/Java 的目录

2007-10-29  23:15    <DIR>          .
2007-10-29  23:15    <DIR>          ..
2007-10-29  22:47               192 HelloDate.java
2007-10-29  23:17               509 HelloDate.class
               2 个文件            701 字节
               2 个目录  6,985,474,048 可用字节

E:/Java>java HelloDate
Hello, it's: Mon Oct 29 23:17:28 CST 2007

E:/Java>

我的电脑中Java环境变量的配置信息与HelloDate.java文件的编译、运行情况如上面所示,该文件为《Thinking in Java》(中文版《Java编程思想》P30)上的一个例子。对编译运行的结果有几处疑问:

1. %JAVA_HOME%/lib目录下的tools.jar和dt.jar这两个JAR文件是做什么用的?我的HelloDate.java编译运行时并未设置将这两个文件加入CLASSPATH,但是依然可以成功编译与运行。

2. HelloDate.java文件中使用了java.util.Date类,javac编译时,是如何找到这个类的?

3. 我在%JAVA_HOME%/jre/rt.jar文件中找到了java.util.Date类的定义,编译及运行的时候是否找到的就是此处的定义?rt.jar并未加入CLASSPATH定义的搜索路径中,而Java又是如何找到这个类的?

4. 我在下载JDK1.6并安装完毕之后,bin和lib目录共在三处出现,以bin目录为例,分别是D:/Java/jdk1.6.0_03/bin,D:/Java/jdk1.6.0_03/jre/bin和D:/Java/jre1.6.0_03/bin,而环境变量PATH使用的是第一个,这三处的bin与lib分别都在何时起作用?有什么区别?

原创粉丝点击