一、JDK版本及形成原因
JDK两个大的版本Oracle JDK 和 OpenJDK 形成原因及介绍
1、Oracle JDK
形成原因:
- Oracle JDK 由 Sun Microsystems 开发,后来 Sun 被 Oracle 收购。它的开发旨在为企业级应用和大规模软件开发提供一个稳定、高性能且功能丰富的 Java 开发环境。
- 为了满足不同时期软件开发的需求,不断进行版本更新,以适应新的技术趋势、提升性能、修复漏洞和增加新功能。
版本介绍:
- Java 8:这是一个非常经典且广泛使用的版本。引入了 Lambda 表达式、方法引用等新特性,极大地改善了 Java 的编程风格,提高了开发效率。同时,对 Java 集合框架进行了增强,提供了新的日期和时间 API。
- Java 11:长期支持(LTS)版本,具有更高的性能和稳定性。增强了垃圾回收器,提供了 ZGC 和 Shenandoah 等低延迟垃圾回收器选项。同时,对 HTTP Client 进行了重新设计,使其更加现代化和易用。
- Java 17:另一个 LTS 版本,带来了许多新的语言特性和改进。例如,密封类的引入可以更好地控制类的继承,增强了 Java 的安全性和可维护性。
2、OpenJDK
形成原因:
- OpenJDK 是 Java 平台的开源实现,由开源社区开发和维护。其目的是提供一个免费、开放的 Java 开发环境,促进 Java 技术的广泛应用和发展。
- 随着开源运动的兴起,OpenJDK 得到了越来越多的关注和支持。许多企业和开发者参与到 OpenJDK 的开发中,共同推动 Java 技术的进步。
版本介绍:
- 与 Oracle JDK 对应,OpenJDK 也有类似的版本发布。在功能上,OpenJDK 与 Oracle JDK 大部分是相同的,但可能在一些细节上存在差异。
- 例如,OpenJDK 11 和 OpenJDK 17 也提供了与 Oracle JDK 相应版本类似的功能和改进,包括新的语言特性、性能优化和安全增强等。
Oracle JDK 和 OpenJDK 都是为了满足不同用户的需求而存在。Oracle JDK 在企业级应用中具有广泛的应用和支持,而 OpenJDK 则为开发者提供了一个免费、开放的选择。在选择使用哪个版本时,需要考虑项目的需求、稳定性、性能要求以及对开源的偏好等因素。
可惜的是,从严格上讲,不管是Oracle JDK还是OpenJDK其实都不是完全的根据版本号向下兼容的,而最有效的解决方法是:开发时使用的是哪个版本的JDK,那么运行时也保持一致。
二、官网程序下载及安装
Oracle JDK官网地址(Java Downloads | Oracle)
OpenJDK官网地址(OpenJDK)
下载需要对应的版本,JDK安装这里以jdk-8u401-windows-x64.exe为例,双击程序,默认安装。
需要注意的是这个默认安装地址,当然也是可以更改的,但不建议,默认安装地址为:
C:\Program Files\Java\jdk-1.8\
这个地址很重要,保存下来,配置环境变量的时候还会用到。
三、JDK环境变量配置
打开高级系统设置-环境变量,有三个环境变量需要配置或添加分别:
JAVA_HOME、CLASS_PATH、Path
1、在系统变量里新建JAVA_HOME
JAVA_HOME
C:\Program Files\Java\jdk-1.8\
2、在系统变量里新建CLASSPATH
CLASSPATH
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
3、在系统变量里找到Path
Path
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
四、环境变量说明
1、JAVA_HOME
明确 JDK 安装路径:
- JAVA_HOME 环境变量用于指定 Java 开发工具包(JDK)的安装目录。通过设置这个变量,你可以在系统的不同位置方便地引用 JDK 的安装位置,而无需每次都输入完整的路径。
- 例如,如果 JDK 安装在 “C:\Program Files\Java\jdk1.8.0_XXX”,则将 JAVA_HOME 设置为这个路径。
方便其他工具和应用程序使用:
- 许多 Java 相关的工具和应用程序依赖于 JAVA_HOME 来确定 JDK 的位置。例如,一些集成开发环境(IDE)如 Eclipse、IntelliJ IDEA 等会读取 JAVA_HOME 变量来找到正确的 JDK 以进行 Java 开发。
- 一些构建工具如 Maven 和 Gradle 也可能使用 JAVA_HOME 来确定 Java 编译器和运行时的位置。
2、CLASSPATH
指定类文件搜索路径:
- CLASSPATH 环境变量用于指定 Java 虚拟机(JVM)在查找和加载类文件时的搜索路径。
- 它可以包含多个目录和 JAR 文件的路径,JVM 会在这些路径中查找所需的类文件。
- 例如,可以将包含自己编写的类文件的目录以及一些常用的第三方库的 JAR 文件路径添加到 CLASSPATH 中。
帮助 JVM 定位类:
- 当你运行一个 Java 程序时,JVM 需要找到程序中所引用的各种类。CLASSPATH 告诉 JVM 在哪里可以找到这些类。如果没有正确设置 CLASSPATH,JVM 可能无法找到所需的类,从而导致程序无法运行。
3、PATH
方便执行 Java 命令:
- PATH 环境变量是操作系统用于查找可执行文件的路径列表。在设置 Java 环境时,将 JDK 的 bin 目录添加到 PATH 变量中。
- JDK 的 bin 目录包含了许多重要的可执行文件,如 java、javac、javadoc 等。通过将这个目录添加到 PATH 中,你可以在任何目录下直接执行这些 Java 命令,而无需切换到 JDK 的 bin 目录。
提高系统的可访问性:
- 这使得在命令行中执行 Java 相关的操作更加方便快捷。无论你在哪个目录下,只要在命令提示符中输入相应的 Java 命令,操作系统就会在 PATH 变量中指定的路径中查找并执行该命令。
如果对您有帮助,欢迎点赞、收藏、评论。