Java Development Kit(JDK)使用及说明

 更新时间:2025年09月23日 10:33:51   作者:上了年纪的牛马  
文章介绍了JDK(Java开发工具包)的定义、功能及与JRE、JVM的区别,强调JDK包含开发工具和库,适合开发者,而JRE仅用于运行程序,同时概述了JDK23版本新增特性及安装步骤

什么是 JDK?

JDK 是 Java Development Kit 的缩写,是一组用于开发 Java 应用程序的软件开发工具和库的集合。

JDK 包含了 Java 运行时环境(JRE)和 Java 虚拟机(JVM),以及一系列开发工具和库。

为什么需要完整的 JDK 而不仅仅是 JRE?

  • JRE(Java 运行时环境):仅包含运行已编译的 Java 程序所需的组件,适合普通用户。
  • JDK(Java 开发工具包):除了 JRE 所包含的组件外,还包含开发工具和库,适合开发者。实际的 Java 应用程序通常需要更复杂的工具和库,这些只有在 JDK 中才能找到。

JDK 的架构

JDK 的架构主要包括以下几个模块:

JVM(Java 虚拟机)

  • 功能:负责为 Java 源代码创建运行时环境。
  • 特点:实现了 Java 的“一次编写,到处运行”(Write Once, Run Anywhere)的特点。
  • 工作原理:位于主机操作系统之上,将 Java 源代码转换为字节码(机器语言),并执行程序。

JDK(Java 开发工具包)

  • 功能:提供了一个软件开发环境,用于创建 Java 应用程序的运行时环境。
  • 组成:包括编译器、调试器、文档生成器等开发工具。

JRE(Java 运行时环境)

  • 功能:提供了一个软件平台,用于执行所有的 Java 源代码。
  • 组成:包括必要的插件、JAR 文件和支持库,以确保源代码能够运行。

JDK、JVM、JRE三者之间的关系如下图所示:

JDK 的组件

JDK 包含了多个重要的组件,以下是其中的一些关键组件:

java

  • 功能:作为旧版 SUN Java 的部署启动器。
  • 作用:加载类文件并解释由 javac 编译器编译的源代码。

javac

  • 功能:指定 Java 编译器将源代码转换为字节码。

javadoc

  • 功能:生成源代码中添加的注释的文档。

jar

  • 功能:帮助管理包库中的 JAR 文件。

jps

  • 功能:Java 虚拟机进程状态工具,管理当前正在执行的程序的活动 JVM。

appletviewer

  • 功能:用于在不依赖互联网浏览器的情况下运行和调试 Java 小程序(Applet)。

idlj

  • 功能:IDL 到 Java 编译器,从给定的 Java IDL 文件生成 Java 绑定。

javap

  • 功能:作为文件反汇编器。

JConsole

  • 功能:Java 管理和监控单元。

javah

  • 功能:存根生成器,用于编写本地方法的 C 头文件。

javaws

  • 功能:Web Start 启动器,用于 JNLP 应用程序。

jhat

  • 功能:堆分析工具。

jmc

  • 功能:Java 任务控制的缩写。

最新的 JDK 版本

目前,Java 由 Oracle 公司拥有并商业化提供。尽管如此,还有一个免费的版本,称为 OpenJDK。

当前 Oracle JDK 版本:JDK 23

主要新特性

  • ZGC 分代模式(ZGC: Generational Mode)
  • 结构化并发(Structured Concurrency)
  • 流收集器(Stream Collectors)
  • 类文件 API(Class-File API)
  • 模块导入声明(Module Import Statements)
  • Markdown 文档注释(Markdown Documentation Comments)
  • 原始类型在模式、instanceof 和 switch 中的使用(Primitive Types in Patterns, instanceof, and switch)
  • 灵活构造函数体(Flexible Constructor Bodies)
  • 隐式声明的类和实例方法(Implicitly Declared Class and Instance Methods)
  • 作用域值(Scoped Values)
  • 矢量 API(Vector API)
  • 弃用 sun.misc.Unsafe 中的内存访问方法

如何安装 JDK

系统要求

  • Windows Vista、7、8 及以上或 Linux 操作系统
  • 至少 128 MB 内存
  • 至少 128 MB 磁盘空间
  • 互联网浏览器

安装步骤

  • 导航到官方网站:访问 Oracle 官方网站
  • 创建 Oracle 账户:如果还没有 Oracle 账户,需要先创建一个。
  • 下载最新版本的 JDK:选择适合你操作系统的 JDK 版本并下载。
  • 设置环境:配置环境变量,确保系统能够识别 javajavac 命令。
  • 验证安装:打开命令行或终端,输入 java -versionjavac -version 命令,验证 JDK 是否安装成功。

总结

通过以上步骤,你可以成功安装并配置 JDK,开始你的 Java 开发之旅。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java实现常见排序算法的优化

    Java实现常见排序算法的优化

    今天给大家带来的是关于Java的相关知识,文章围绕着Java实现常见排序算法的优化展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-01-01
  • postman中POST请求时参数包含参数list设置方式

    postman中POST请求时参数包含参数list设置方式

    这篇文章主要介绍了postman中POST请求时参数包含参数list设置方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • easyExcel分批导入文件方式

    easyExcel分批导入文件方式

    这篇文章主要介绍了easyExcel分批导入文件方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 基于springboot与axios的整合问题

    基于springboot与axios的整合问题

    这篇文章主要介绍了springboot与axios的整合问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 基于SpringBoot + Redis实现密码暴力破解防护

    基于SpringBoot + Redis实现密码暴力破解防护

    在现代应用程序中,保护用户密码的安全性是至关重要的,密码暴力破解是指通过尝试多个密码组合来非法获取用户账户的密码,为了保护用户密码不被暴力破解,我们可以使用Spring Boot和Redis来实现一些防护措施,本文将介绍如何利用这些技术来防止密码暴力破解攻击
    2023-06-06
  • 解决Mybatis plus实体类属性与表字段不一致的问题

    解决Mybatis plus实体类属性与表字段不一致的问题

    这篇文章主要介绍了Mybatis plus实体类属性与表字段不一致解决方法,文末给大家提到了Mybatis-plus中数据库表名和表字段名的相关知识,需要的朋友可以参考下
    2022-07-07
  • SpringBoot + vue2.0查询所用功能详解

    SpringBoot + vue2.0查询所用功能详解

    这篇文章主要介绍了SpringBoot + vue2.0查询所用功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-11-11
  • Spring Boot和Hazelcast使用详解

    Spring Boot和Hazelcast使用详解

    这篇文章主要介绍了Spring Boot和Hazelcast使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Java实现文件上传的两种方法(uploadify和Spring)

    Java实现文件上传的两种方法(uploadify和Spring)

    这篇文章主要为大家详细介绍了Java实现文件上传的两种方法,uploadify和Spring实现文件上传,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Spring Boot项目利用Redis实现session管理实例

    Spring Boot项目利用Redis实现session管理实例

    本篇文章主要介绍了Spring Boot项目利用Redis实现session管理实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06

最新评论