经编辑后格式良好的问题请见我的BLOG:http://blog.csdn.net/thinkway/archive/2007/10/29/1855450.aspx-------------------------------------------------------------------------------Java的环境变量有三个,分别是JAVA_HOME,PATH和CLASSPATH。一般设置为:JAVA_HOME=D:\Java\jdk_1.6.0.03 //即JDK的安装目录PATH=%JAVA_HOME%/binCLASSPATH=.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar我的电脑中安装了JDK1.6,Java环境变量的配置信息与HelloDate.java文件的编译、运行情况如下面所示,该文件为《Thinking in Java》(中文版《Java编程思想》P30)上的一个例子。-------------------------------------------------------------------------------E:\Java>echo %PATH%
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;D:\Java\jdk1.6.0_03\binE:\Java>echo %JAVA_HOME%
D:\Java\jdk1.6.0_03E:\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.javaE:\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 2007E:\Java>
-------------------------------------------------------------------------------对编译运行的结果有几处疑问: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分别都在何时起作用?有什么区别?
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;D:\Java\jdk1.6.0_03\binE:\Java>echo %JAVA_HOME%
D:\Java\jdk1.6.0_03E:\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.javaE:\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 2007E:\Java>
-------------------------------------------------------------------------------对编译运行的结果有几处疑问: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分别都在何时起作用?有什么区别?
解决方案 »
- 关于多文件上传顺序的问题 (IO)
- 怎么做JCheckBox的全选和全不选的按钮
- 一道面试题
- 关于swing项目的结构问题的讨论
- java能象vc那样向另外一个应用程序的输入框输入信息
- 一个JAVA初学者的困惑!
- 为什么跳不出这个循环?(网络编程)
- 在jswdk中如何配置servlet的运行环境(相送100)
- 新手请教:在java中如何实现一些全局常量(类似于C中的#define)?来者均有分。
- 抽象类需要重载才能实现其中的方法,重载是什么,举个重载并使用抽象类中方法的简单例子 谢谢
- [闭月羞花猫] ~~~~~~~~~~~~~~~~~求一正则表达式~~~~~~~~~~~~~~~~~~~~~~~
- JTable如何删除当前列
2、从JDK1.4开始,系统不需要设置classpath,即可自动找到/JDK安装目录/JRE/rt.jar,JAVA编译的时候采用动态链接,需要的时候装载进来即可。
3、原因同上
4、第一个是JDK的bin目录,后2个是JRE的bin目录,因为在编译的时候使用的javac命令其他两个目录没有,所以需要设置JDK的bin
!!!!!!!!!!!
惊诧啊。网络咖啡大哥 :给点解释噢。