器→工具, 工具软件, 术→技巧, 研发, 编程语言

JAVA环境:JDK的安装与配置

钱魏Way · · 198 次浏览
!文章内容如有错误或排版问题,请提交反馈,非常感谢!

JAVA开发与运行环境

Java的开发和运行环境是指在进行Java应用程序开发和执行过程中所需的软件和工具。下面分别介绍Java的开发环境和运行环境:

Java开发环境(Java Development Environment):

  • JDK(Java Development Kit):
    • JDK是Java开发工具包,提供了开发Java应用程序所需的工具和资源,包括编译器(javac)、调试器、Java虚拟机(JVM)、Java类库(Java API)等。JDK是开发Java应用程序的基础,它提供了完整的开发环境,适用于开发人员和软件工程师。
    • 开发工具:除了JDK,还可以使用一些集成开发环境(Integrated Development Environment,IDE)来提升开发效率,如Eclipse、IntelliJ IDEA和NetBeans等。这些IDE提供了代码编辑器、调试器、构建工具、自动完成和代码重构等功能,方便开发人员进行代码编写、调试和项目管理。
  • Java运行环境(Java Runtime Environment):
    • JRE(Java Runtime Environment):JRE是Java运行时环境,用于执行已编译的Java应用程序。它包含了Java虚拟机(JVM)和Java类库(Java API),提供了必要的运行时环境支持。JRE适用于普通用户和终端用户,用于运行Java应用程序,而不涉及Java应用程序的开发。
    • Java插件:Java插件允许在网页中嵌入Java应用程序。它可以通过浏览器插件的形式,使用户能够在网页上直接运行Java应用程序。Java插件通常与JRE一起提供。

在开发Java应用程序时,需要先安装JDK来编写、编译和调试代码,使用开发工具(如IDE)来提高开发效率。当Java应用程序开发完成后,最终用户只需安装JRE来运行已编译的Java应用程序,而不需要安装完整的开发工具包。

总结起来,Java的开发环境包括JDK和开发工具(如IDE),用于编写、编译和调试Java应用程序;Java的运行环境包括JRE和Java插件,用于执行已编译的Java应用程序和在网页中嵌入Java应用程序。

JDK与JRE的区别

JDK简介

JDK(Java Development Kit)是Java开发工具包,它提供了Java开发人员编写、编译、调试和运行Java程序所需的工具和资源。以下是JDK包含的主要内容:

  • 编译器(javac):JDK包含了Java编译器,用于将Java源代码(以.java文件形式)编译成Java字节码(以.class文件形式)。
  • Java虚拟机(JVM):JDK包含了Java虚拟机,它是Java程序运行的核心组件。JVM负责将Java字节码转换为机器代码并执行,提供了内存管理、垃圾回收、线程管理和安全性等功能。
  • Java类库(Java API):JDK提供了丰富的Java类库,包含了大量的预定义类和方法,用于实现各种功能和任务。Java类库包括标准的Java类、接口、数据结构、输入输出、网络通信、图形用户界面等。
  • 调试工具:JDK提供了一些调试工具,用于帮助开发人员调试Java程序。例如,javac命令用于编译Java代码,java命令用于运行Java应用程序,jdb命令用于命令行调试,jconsole命令用于监视和管理Java应用程序等。
  • 开发工具:JDK还提供了一些开发工具,用于辅助Java应用程序的开发过程。例如,javap命令用于反编译Java字节码,javadoc命令用于生成Java文档,jar命令用于创建和管理Java归档文件(JAR文件)等。
  • 示例代码和示例应用程序:JDK包含了一些示例代码和示例应用程序,供开发人员参考和学习。这些示例涵盖了各种Java编程技术和用法,帮助开发人员更好地理解和应用Java语言和类库。

需要注意的是,JDK是面向Java开发人员和软件工程师的工具包,它提供了完整的开发环境。与JRE相比,JDK包含了更多的工具和资源,用于编写、编译和调试Java应用程序。所以,如果你只是需要运行Java应用程序,而不需要进行Java开发,那么安装JRE就足够了。

JRE简介

Java运行环境(Java Runtime Environment,JRE)是Java平台的核心组件之一,它提供了执行Java应用程序所需的运行时环境。

JRE包括以下主要组件:

  • Java虚拟机(Java Virtual Machine,JVM):JVM是Java程序运行的关键部分。它负责将Java字节码转换为机器代码并执行。JVM提供了内存管理、垃圾回收、线程管理和安全性等功能,以保证Java程序的可靠运行。
  • Java类库(Java Class Libraries):JRE中包含了丰富的Java类库,提供了各种预定义类和方法,用于实现各种功能和任务。这些类库包括标准的Java类、接口、数据结构、输入输出、网络通信、图形用户界面等,使开发人员能够更轻松地编写Java程序。
  • Java部署工具:JRE还包含了一些用于部署Java应用程序的工具,例如Java Web Start和Java插件。Java Web Start允许用户通过简单的点击即可从网络上启动和安装Java应用程序。Java插件则允许在网页中嵌入Java应用程序。

使用JRE,用户可以在自己的计算机上运行已编译的Java应用程序,而无需安装完整的Java开发工具包(JDK)。

JAVA的平台划分

Java平台的划分主要有三个方面:Java SE(Java Standard Edition)、Java EE(Java Enterprise Edition)和Java ME(Java Micro Edition)。

  • Java SE(Java Standard Edition):Java SE是Java平台的标准版,它提供了用于开发桌面和服务器应用程序的核心功能和API。Java SE包括Java语言的基本特性、Java虚拟机(JVM)、Java类库(Java API)等组件,可以用于开发各种类型的Java应用程序,从简单的命令行工具到复杂的企业级应用。
  • Java EE(Java Enterprise Edition):Java EE是针对企业级应用开发的扩展版,它在Java SE的基础上提供了一系列的扩展功能和API,用于开发大型、分布式和可伸缩的企业应用程序。Java EE包括了Web应用开发、分布式应用开发、消息传递、事务管理、安全性等方面的技术规范和API,可以用于构建复杂的企业级应用和系统。
  • Java ME(Java Micro Edition):Java ME是为嵌入式设备和移动设备开发的版本,它针对资源受限的环境进行了优化,包括了一组精简的Java API和配置文件,以满足嵌入式和移动设备的特殊需求。Java ME可用于开发手机、智能卡、传感器设备、家电等嵌入式系统和应用。

这三个版本的Java平台针对不同的应用领域和需求提供了相应的功能和API。Java SE是Java的核心平台,适用于桌面和服务器应用开发;Java EE扩展了Java SE,用于企业级应用开发;而Java ME针对嵌入式和移动设备提供了轻量级的版本。开发人员可以根据实际需求选择适合的Java平台版本进行开发。

JAVA的版本问题

早期Java SE还叫JDK的时代以1.X命名,从1.0到1.4版本。5.0开始主版本号开始了一次跃升,但是大家依旧习惯1.5一直到1.8都有Java 8和Java 1.8混着叫的习惯,到了Java 9开始变不再1.X了。

截至发文Java的长期支持版是8和11,11版本的免费长期支持需要使用OpenJDK。

Java有多个版本,每个版本都引入了新的特性、改进和修复了之前版本的问题。以下是一些常见的Java版本:

  • Java 1.0: 于1996年发布的Java的初始版本。它引入了Java的基本语法、类库和Java虚拟机。
  • Java 1.1: 于1997年发布,增加了内部类、迭代器和 JavaBeans 等功能。

  • Java 1.2 (Java 2): 于1998年发布,引入了重要的特性,如 Swing 图形界面库、集合框架、反射 API 和 Java 命名和目录接口(JNDI)等。
  • Java 1.3: 于2000年发布,包含了性能改进、Java 声音 API、Java 命名空间和 Java 运行时支持等增强。
  • Java 1.4: 于2002年发布,引入了重要特性,如正则表达式、异常链、NIO(非阻塞输入/输出)和 XML 处理等。
  • Java 5 (Java 1.5): 于2004年发布,是一个重要的版本,引入了许多关键特性,如泛型、枚举、自动装箱/拆箱、注解和迭代器增强等。
  • Java 6 (Java 1.6): 于2006年发布,包含了性能改进、脚本语言支持、Web 服务增强和 JDBC(Java 数据库连接)改进等。
  • Java 7: 于2011年发布,带来了新特性,如 Diamond 语法、try-with-resources、switch 语句改进和多重异常捕获等。
  • Java 8: 于2014年发布,是一个重要版本,引入了 Lambda 表达式、Stream API、日期/时间 API、默认方法和函数式接口等。
  • Java 9: 于2017年发布,引入了模块化系统、JShell(交互式编程工具)、改进的 JVM、HTTP/2 和 REPL 等特性。
  • Java 10、11、12、13、14、15、16、17:这些版本都包含了一些改进、优化和新特性,如局部变量类型推断、垃圾回收器的改进、新的字符串方法和 HTTP 客户端 API 等。

需要注意的是,每个 Java 版本都有一定的生命周期,包括发布、支持和终止支持阶段。建议开发人员使用最新的稳定版本,以获得最新的特性和改进,并确保安全性和性能方面的修复。

此外,Java 还有不同的发行版,如 Oracle JDK(Oracle 官方版本)、OpenJDK(开源版本)、Amazon Corretto 等,它们在功能和许可证方面可能略有差异。开发人员可以根据自己的需求选择适合的 Java 版本和发行版。

不同版本的 JDK(Java Development Kit)使用的协议可能有所不同。以下是一些常见的 JDK 版本及其相关的协议:

  • Oracle JDK 8 及以前版本:这些版本的 Oracle JDK 使用的是 Oracle Binary Code License Agreement for the Java SE Platform(Oracle 二进制代码许可协议)。根据此协议,开发人员可以免费使用 Oracle JDK 用于开发、测试和部署 Java 应用程序。
  • Oracle JDK 9 及以后版本:自 JDK 9 开始,Oracle 采用了新的许可模型,即 Oracle Technology Network License Agreement(Oracle 技术网络许可协议)。根据此协议,开发人员可以免费使用 Oracle JDK 用于开发、测试和部署 Java 应用程序,但在商业部署场景下,可能需要购买商业许可。

JDK 的不同发行版

Oracle JDK 是由 Oracle 公司发行的 JDK 商业版本。2009 年 Oracle 公司收购了 Sun 公司,Java JDK 的维护方也由 Sun 公司变为 Oracle 公司。目前,Oracle JDK 的使用非常广泛,尤其是 JDK 8 和 JDK 11 的长期支持版本。Oracle JDK 是商业版本,在生产环境中使用 Oracle JDK 要注意法律风险。

Java Development Kit (JDK) 有几个不同的发行版,以下是一些常见的 JDK 发行版:

  • OpenJDK:OpenJDK 是 Java 的开源实现,由一个社区驱动的项目开发和维护。它是根据开放源代码许可证(如 GNU GPL)提供的 JDK 发行版。OpenJDK 与 Oracle JDK 有很高的兼容性,包含相同的核心功能和 API。
  • AdoptOpenJDK:AdoptOpenJDK 是一个由社区支持的 OpenJDK 发行版,提供针对多个操作系统和架构的预编译二进制包。它致力于提供高质量的 OpenJDK 发行版,并提供长期支持和定期更新。
  • Amazon Corretto:Amazon Corretto 是由亚马逊公司开发和维护的 OpenJDK 发行版。它提供了免费的、多平台的 JDK 发行版,适用于开发和部署 Java 应用程序。

除了上述发行版外,还有其他一些基于 OpenJDK 的 JDK 发行版,如 Azul Zulu、IBM SDK for Java 等。这些发行版可能提供特定的增强功能、性能优化或专有工具,以满足特定的需求和使用场景。以下是国内大厂开源的 JDK:

阿里 Dragonwell

阿里巴巴的Dragonwell(中文名:龙井)是一款自行开发和维护的 Java 开发工具包(JDK),是基于 OpenJDK 构建的一个定制版本。它旨在提供高性能、高稳定性和安全性的 Java 运行环境,特别适用于在阿里巴巴的大规模分布式系统中运行 Java 应用程序。

Dragonwell 基于 OpenJDK 社区版进行开发,融合了阿里巴巴的技术优势和实践经验,以满足企业级应用的需求。以下是 Dragonwell 的一些特点和功能:

  • 高性能:Dragonwell 对 JIT(即时编译器)进行了优化,通过采用性能增强的编译器策略和优化算法,提供更好的运行时性能。
  • 高稳定性:Dragonwell 针对阿里巴巴的大规模分布式系统进行了优化和测试,通过修复和预防常见的稳定性问题,提供更可靠的 Java 运行环境。
  • 安全性:Dragonwell 集成了阿里巴巴的安全技术和加固措施,包括代码扫描、漏洞修复和安全增强等,以提供更安全的 Java 运行时环境。
  • 工具和插件:Dragonwell 提供了一些额外的工具和插件,帮助开发人员进行性能分析、问题诊断和调优。
  • 长期支持:Dragonwell 提供了长期支持(LTS)版本,以满足企业级应用的需求,并定期发布更新和安全补丁。
  • 阿里巴巴在其内部大规模应用 Dragonwell,并将其开源,以促进更广泛的使用和社区贡献。开发人员可以访问 Dragonwell 的官方网站或 GitHub 仓库,获取最新版本的 Dragonwell JDK,并了解其特性、文档和社区支持。

总之,阿里 Dragonwell 是阿里巴巴自行开发和维护的 Java 开发工具包,通过优化性能、提高稳定性和加强安全性,提供了适用于企业级应用的高性能 Java 运行环境。

腾讯 Kona JDK

腾讯Kona JDK是腾讯内部基于 OpenJDK 定制的 JDK 发行版本。主要应用于腾讯云业务场景及其他 Java 应用场景,并且针对超大规模的大数据、机器学习和云计算进行了深度优化。

Tencent Kona 是腾讯开源的、免费的、基于 OpenJDK 的发行版本,并且受腾讯长期支持(LTS)和季度更新。目前,Tencent Kona 只提供基于 OpenJDK 8 的 Linux 版本。

Tencent Kona-8 支持以下特性:

  • Default CDS Archive 提高启动速度.
  • Java Flight Recorder 采集 java 应用程序的诊断信息.
  • Optimized Work Stealing Threads GC 线程调度优化
  • G1 Full GC 并行化
  • G1 GC 性能优化
  • 异步 GC 日志

华为毕昇 JDK

华为的毕昇 JDK(Bisheng JDK)是华为公司自主研发的一款 Java 开发工具包(JDK)。毕昇 JDK 是基于 OpenJDK 构建的定制版本,旨在提供高性能、高效能的 Java 运行环境,特别适用于在华为的大规模分布式系统中运行 Java 应用程序。

以下是毕昇 JDK 的一些特点和功能:

  • 高性能:毕昇 JDK 对 JIT(即时编译器)进行了优化,采用了特定的编译策略和算法,以提供更好的运行时性能。
  • 大规模分布式系统优化:毕昇 JDK 针对华为自身的大规模分布式系统进行了优化和适配,通过修复和预防常见的稳定性问题,提供更可靠的 Java 运行环境。
  • 安全性:毕昇 JDK 集成了华为的安全技术和加固措施,包括代码扫描、漏洞修复和安全增强等,以提供更安全的 Java 运行时环境。
  • 高效能计算(HPC)支持:毕昇 JDK 对高效能计算领域的需求进行了优化,提供了针对高性能计算应用的特殊优化和功能。
  • 多版本支持:毕昇JDK提供了多个版本,包括社区版(Community Edition)和企业版(Enterprise Edition),以满足不同用户的需求。

JDK的安装与配置

Windows环境下JDK的安装与配置

JDK安装完毕后最核心的是环境变量的配置。

在“环境变量”窗口中,选择“系统变量”部分,点击“新建”按钮。

  • 在“新建系统变量”窗口中,输入变量名为”JAVA_HOME”(或其他您喜欢的变量名),然后设置变量值为JDK的安装路径。例如,对于JDK1.8,将变量值设置为”C:\Program Files\Java\jdk1.8″;对于JDK11,将变量值设置为”C:\Program Files\Java\jdk11″。点击“确定”保存变量。
  • 在“系统变量”部分中,找到名为”Path”的变量,双击进行编辑。在“编辑环境变量”窗口的“变量值”字段中,添加%JAVA_HOME%\bin到变量值的开头(注意前面的分号)。点击“确定”保存更改。
  • 验证配置:打开命令提示符窗口,输入”java -version”命令。如果配置正确,应该能够看到当前设置的JDK版本。
  • 切换JDK版本:要在不同的JDK版本之间进行切换,可以通过修改环境变量”JAVA_HOME”的值来实现。

Linux环境

在Linux操作系统下配置JDK(Java Development Kit),您可以按照以下步骤进行操作:

  • 解压JDK文件:将下载的JDK文件解压到您想要安装的目录。例如,您可以将其解压到”/usr/local”目录下。
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
tar -xvf jdk-xxxx.tar.gz -C /usr/local/
tar -xvf jdk-xxxx.tar.gz -C /usr/local/
tar -xvf jdk-xxxx.tar.gz -C /usr/local/
  • 配置环境变量:打开终端窗口,编辑”~/.bashrc”文件,将以下内容添加到文件的末尾:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
export JAVA_HOME=/usr/local/jdk-xxxx #JDK的安装路径
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME=/usr/local/jdk-xxxx #JDK的安装路径 export PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME=/usr/local/jdk-xxxx #JDK的安装路径
export PATH=$JAVA_HOME/bin:$PATH
  • 使环境变量生效:在终端窗口中执行以下命令,使环境变量生效:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
source ~/.bashrc
source ~/.bashrc
source ~/.bashrc

验证配置:在终端窗口中输入”java -version”命令。如果正确安装和配置了JDK,您应该能够看到JDK的版本信息。

参考链接:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注