Java JDK的安装以及CLASSPATH设置系统变量

简介: Java JDK的安装以及CLASSPATH设置系统变量向你介绍如何在Windows条件下进行Java JDK的安装以及CLASSPATH系统变量配置。 AD: Java JDK的安装以及CLASSPATH设置系统变量之. 预备常识 1.1安装JDK 到http://java.sun.com 官方网站,根据不同的操作系统,下载相应的J2SE JDK 版本 (写这篇文章时最新的JDK 为1.5 update 7)。

Java JDK的安装以及CLASSPATH设置系统变量向你介绍如何在Windows条件下进行Java JDK的安装以及CLASSPATH系统变量配置。

AD:

Java JDK的安装以及CLASSPATH设置系统变量之. 预备常识

1.1安装JDK

到http://java.sun.com 官方网站,根据不同的操作系统,下载相应的J2SE JDK 版本 (写这篇文章时最新的JDK 为1.5 update 7)。假定我们把JDK安装到D:\JDK\1507 ,不安装public JRE。

1.2 设置path

在[我的电脑]上右击,选择[属性]。再选择[高级]-[环境变量],在[系统变量]中添加一个新的变量

JAVA_HOME=D:\JDK\1507,然后再编辑path变量,在原来的path前面添加[ %JAVA_HOME%\BIN; ]

(方框中的文字)。这样就完成了JAVA的基本设置。

1.3 演示程序

为了帮助理解,我写了一个JavaBootTest.java 的小程序来显示。

  1. public class JavaBootTest {   
  2.     public static void main(String[] args) {  
  3.      System.out.println(" The Classpath are: ");  
  4.      System.out.println(System.getProperty("java.class.path"));  
  5.        //other program lines  
  6.     }  

用下面的两条命令分别编译和运行。

javac JavaBootTest.java

java JavaBootTest

Java JDK的安装以及设置CLASSPATH设置系统变量之二. JAVA程序运行时如何查找类文件

根据JDK文档说明, JAVA程序以以下3种顺序查找运行的类文件。

◆Bootstrap classes (*)

◆Extension classes

◆Users classes

2.1 Bootstrap classes

就是JAVA在启动时载入的类文件,这些类文件主要是rt.jar和jre/lib 目录下的一些类文件。Bootstrap过程中的class path是保存在 sun.boot.class.path系统属性中的。可以通过System.out.println(System.getProperty("sun.boot.class.path")); 来显示。同时Bootstrap classes 可以通过 -Xbootclasspath 命令行参数来指定。

下面列出了系统中默认的Bootstrap classes:

jre\lib\rt.jar; jre\lib\i18n.jar;

jre\lib\sunrsasign.jar; jre\lib\jsse.jar;

jre\lib\jce.jar; jre\lib\charsets.jar;

jre\classes

* Bootstrap

bootstrap是皮鞋后部的一条小带子或一个小环,它可以使你方便地把鞋子穿起来。在计算机中,是指使用一个很小的程序将某个特定的程序(通常是指操作系统)载入计算机中。

2.2 Extension classes (扩展类文件)

Extension classes主要是指的jre/lib/ext目录下的类文件,这些文件必须在jar文件或 zip文件中。如果不同名字的jar文件包含有相同的类文件,那么哪一个类文件被载入是不确定的。

2.3 User classes (用户自定义的类文件)

现在到了最重要的地方了,我们常说的CLASSPATH设置其实就是指定 User classes。JAVA按照以下四种顺序查找User classes。

2.3.1. 默认的User classes . (dot) 就是指当前目录。

2.3.2. 系统变量CLASSPATH设置所指定的类库,该变量覆盖(override)默认的User classes。

2.3.3. 用命令行参数 -cp 或 -classpath指定的类库。这个时候覆盖默认的User classes 和CLASSPATH设置变量。

2.3.4. 通过-jar 参数指定的jar文件。此时覆盖上面的三种情况,如果使用这种情况,所有的类文件必须来自指定的jar 文件。

了解了java如何查找User classes,我们接下来将要学习如何CLASSPATH设置变量。

Java JDK的安装以及CLASSPATH设置系统变量之三、 如何正确CLASSPATH设置系统变量

如果只是一般运用java,只是用到java的基本库文件,练练手而已,则不需要CLASSPATH设置。

但是在一般开发情况下,这是很少遇到的。所以我们要自己CLASSPATH设置 。

我们一般的方法就是按照2.3.2 来CLASSPATH设置系统变量,像开始设置path一样,我们可以添加一个CLASSPATH设置的系统变量。网上有些文章所提到的添加rt.jar 和 tools.jar 等等是不需要的,因为这些类库是属于Bootstrap classes的。我们只要定义User classes ,如果我们要编译servlet 那么只要servlet-api.jar 和 jsp-api.jar 就可以实现基本的需要了。

另外要注意的是2.3.2 override 2.3.1。我们CLASSPATH设置 时要将 .(dot)[表示当前目录]放在CLASSPATH设置中,然后用 ;(semicolon)分隔开来。由于其他提供的类文件都是放在jar文件中,我们设置时一定要将完整的jar 文件包含在CLASSPATH 设置中,而不是将其目录添加到CLASSPATH 设置中(很重要的一点,我以前就是理解错误了)。

这个时候又一个问题出现了,当需要添加的jar 文件过多时,管理java 类库变得很麻烦。所以我认为在基础学习时用命令行编译调试,有利于JAVA的学习,但是到开发时则一定要用到 IDE 工具(现在比较流行的是eclipse 和 netbeans ,还有些人喜欢 jcreator) 。

在eclipse 中通过 [windows][Preferences][Java][Build Path]来指定。其中有两部分Classpath Variables & User Libraries。如何设置在这里就不详细说明了,自己试一下就可以了,比较简单。在新建项目时,把自己定义的变量添加到Build Path 中就可以了。

那么Java JDK的安装以及CLASSPATH设置系统变量就向你介绍到这里,希望对你有所帮助。

【编辑推荐】

  1. JDK1.4在Windows下的环境配置
  2. JDK1.6在LINUX下的安装配置
  3. JDK1.6的十大技术浅谈
  4. JDK 6.0中web service的使用浅析
  5. Fedora 8下JDK 6.0的安装配置问题
【责任编辑: 李彦光 TEL:(010)68476606】

getcountscom(135263,11); getcountscom(135263,12); getcountscom(135263,13); getcountscom(135263,14); getcountscom(135263,15); getcountscom(135263,16);

网友评论 TOP5 查看所有评论(

提交评论 通行证: 密码:    注册通行证

验证码: 点击图片可刷新验证码请点击后输入验证码 匿名发表

 
目录
相关文章
|
3天前
|
Java
安装JDK18没有JRE环境的解决办法
安装JDK18没有JRE环境的解决办法
|
12天前
|
Java API 开发者
【Java模块化新飞跃】JDK 22模块化增强:构建更灵活、更可维护的应用架构!
【9月更文挑战第9天】JDK 22的模块化增强为开发者构建更灵活、更可维护的应用架构提供了强有力的支持。通过模块化设计、精细的依赖管理和丰富的工具支持,开发者可以更加高效地开发和管理应用,提高应用的性能和可维护性。
45 10
|
14天前
|
安全 Java API
【性能与安全的双重飞跃】JDK 22外部函数与内存API:JNI的继任者,引领Java新潮流!
【9月更文挑战第7天】JDK 22外部函数与内存API的发布,标志着Java在性能与安全性方面实现了双重飞跃。作为JNI的继任者,这一新特性不仅简化了Java与本地代码的交互过程,还提升了程序的性能和安全性。我们有理由相信,在外部函数与内存API的引领下,Java将开启一个全新的编程时代,为开发者们带来更加高效、更加安全的编程体验。让我们共同期待Java在未来的辉煌成就!
43 11
|
14天前
|
存储 Java 开发者
【Java新纪元启航】JDK 22:解锁未命名变量与模式,让代码更简洁,思维更自由!
【9月更文挑战第7天】JDK 22带来的未命名变量与模式匹配的结合,是Java编程语言发展历程中的一个重要里程碑。它不仅简化了代码,提高了开发效率,更重要的是,它激发了我们对Java编程的新思考,让我们有机会以更加自由、更加创造性的方式解决问题。随着Java生态系统的不断演进,我们有理由相信,未来的Java将更加灵活、更加强大,为开发者们提供更加广阔的舞台。让我们携手并进,共同迎接Java新纪元的到来!
41 11
|
12天前
|
监控 IDE Java
【Java性能调优新工具】JDK 22性能分析器:深度剖析,优化无死角!
【9月更文挑战第9天】JDK 22中的性能分析器为Java应用的性能调优提供了强大的支持。通过深度集成、全面监控、精细化分析和灵活报告生成等核心优势,性能分析器帮助开发者实现了对应用性能的全面掌控和深度优化。在未来的Java开发过程中,我们期待性能分析器能够继续发挥重要作用,为Java应用的性能提升贡献更多力量。
|
12天前
|
监控 Java 大数据
【Java内存管理新突破】JDK 22:细粒度内存管理API,精准控制每一块内存!
【9月更文挑战第9天】虽然目前JDK 22的确切内容尚未公布,但我们可以根据Java语言的发展趋势和社区的需求,预测细粒度内存管理API可能成为未来Java内存管理领域的新突破。这套API将为开发者提供前所未有的内存控制能力,助力Java应用在更多领域发挥更大作用。我们期待JDK 22的发布,期待Java语言在内存管理领域的持续创新和发展。
|
14天前
|
Java API 数据处理
【Java的SIMD革命】JDK 22向量API:释放硬件潜能,让Java应用性能飙升!
【9月更文挑战第7天】 JDK 22向量API的发布标志着Java编程语言在SIMD技术领域的重大突破。这一新特性不仅释放了现代硬件的潜能,更让Java应用性能实现了飙升。我们有理由相信,在未来的发展中,Java将继续引领编程语言的潮流,为开发者们带来更加高效、更加强大的编程体验。让我们共同期待Java在SIMD技术的推动下开启一个全新的性能提升时代!
|
15天前
|
Oracle Java 关系型数据库
【颠覆性升级】JDK 22:超级构造器与区域锁,重塑Java编程的两大基石!
【9月更文挑战第6天】JDK 22的发布标志着Java编程语言在性能和灵活性方面迈出了重要的一步。超级构造器和区域锁这两大基石的引入,不仅简化了代码设计,提高了开发效率,还优化了垃圾收集器的性能,降低了应用延迟。这些改进不仅展示了Oracle在Java生态系统中的持续改进和创新精神,也为广大Java开发者提供了更多的可能性和便利。我们有理由相信,在未来的Java编程中,这些新特性将发挥越来越重要的作用,推动Java技术不断向前发展。
|
15天前
|
Java API 开发者
【Java字节码操控新篇章】JDK 22类文件API预览:解锁Java底层的无限可能!
【9月更文挑战第6天】JDK 22的类文件API为Java开发者们打开了一扇通往Java底层世界的大门。通过这个API,我们可以更加深入地理解Java程序的工作原理,实现更加灵活和强大的功能。虽然目前它还处于预览版阶段,但我们已经可以预见其在未来Java开发中的重要地位。让我们共同期待Java字节码操控新篇章的到来!
|
13天前
|
Java API 开发者
【Java字节码的掌控者】JDK 22类文件API:解锁Java深层次的奥秘,赋能开发者无限可能!
【9月更文挑战第8天】JDK 22类文件API的引入,为Java开发者们打开了一扇通往Java字节码操控新世界的大门。通过这个API,我们可以更加深入地理解Java程序的底层行为,实现更加高效、可靠和创新的Java应用。虽然目前它还处于预览版阶段,但我们已经可以预见其在未来Java开发中的重要地位。让我们共同期待Java字节码操控新篇章的到来,并积极探索类文件API带来的无限可能!