什么是JDK以及JDK都由哪些部分组成详解
前言
Java作为全球最流行的编程语言之一,其成功离不开强大而完善的开发工具包——JDK。无论你是刚刚踏入Java世界的新手,还是经验丰富的开发者,深入理解JDK的组成、工作原理和最佳实践,都能显著提升你的开发效率和问题解决能力。
让我们开始这段JDK探索之旅吧!
一、什么是JDK?
JDK(Java Development Kit) 是Java开发工具包,它是Oracle公司为Java开发者提供的一套完整的开发环境。无论你是初学者还是资深开发者,只要想编写、编译、调试和运行Java程序,JDK都是必不可少的核心工具。
1.1 为什么需要JDK?
- 编译需求:Java源代码(.java文件)需要编译成字节码(.class文件)才能执行
- 运行环境:提供Java程序运行所需的虚拟机(JVM)和核心类库
- 开发工具:包含编译器、调试器、打包工具等全套开发工具链
- 标准库:提供丰富的API,避免重复造轮子
简单来说:没有JDK,就无法进行Java开发。
二、JDK的核心架构与组件
JDK是一个分层架构,理解其组成有助于掌握Java开发的完整生态:

2.1 开发工具(Development Tools)
这是JDK区别于JRE的核心部分,包含以下关键工具:
| 工具 | 作用 | 常用命令示例 |
|---|---|---|
| javac | Java编译器,将.java源文件编译为.class字节码 | javac HelloWorld.java |
| java | Java程序启动器,运行编译后的.class文件 | java HelloWorld |
| jar | 打包工具,创建可执行的JAR文件 | jar cvf app.jar *.class |
| javadoc | API文档生成器 | javadoc -d docs *.java |
| jdb | Java调试器 | jdb HelloWorld |
| jconsole | 图形化监控工具 | 监控JVM性能 |
| jvisualvm | 可视化性能分析工具 | 分析内存、线程等 |
2.2 JRE(Java Runtime Environment)
JRE是JDK的子集,专门用于运行Java程序,包含:
- JVM(Java虚拟机):执行字节码的核心引擎
- 核心类库:java.lang、java.util、java.io等基础包
- 配置文件:安全策略、字体配置等
三、JDK、JRE、JVM:包含关系解析
三者是层层包含的关系,理解这一点对Java环境配置至关重要:

3.1 包含关系公式
JDK = JRE + 开发工具 JRE = JVM + 核心类库
3.2 实际应用场景
| 场景 | 需要安装 | 说明 |
|---|---|---|
| 仅运行Java程序 | JRE | 用户只需运行环境,如运行.jar文件 |
| 开发Java应用 | JDK | 开发者需要编译、调试等全套工具 |
| 服务器部署 | JRE或JDK | 生产环境通常只需JRE,但JDK便于排查问题 |
| 学习Java | JDK | 需要查看源码、调试、生成文档 |
四、Java程序从源码到执行的完整流程
理解Java程序的完整生命周期,有助于排查编译和运行时问题:

4.1 详细步骤解析
4.1.1 编写源代码
// HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
4.1.2 编译阶段(javac)
# 编译命令 javac HelloWorld.java # 编译过程 1. 词法分析:将源码分解为token 2. 语法分析:构建抽象语法树(AST) 3. 语义分析:检查类型、作用域等 4. 生成字节码:输出HelloWorld.class文件
五、常见JDK版本
- JDK 8(LTS):2014年发布,引入Lambda表达式、Stream API
- JDK 11(LTS):2018年发布,移除JavaFX,引入HTTP Client
- JDK 17(LTS):2021年发布,密封类、模式匹配增强
- JDK 21(LTS):2023年发布,虚拟线程、结构化并发
注:LTS = Long-Term Support(长期支持版本)
六、总结
JDK 是 Java 开发的基础,理解其组成结构有助于我们更好地掌握 Java 开发。
核心记忆点:
- JDK = 开发工具 + JRE
- JRE = JVM + 核心类库
- JVM = 类加载 + 字节码执行 + 内存管理 + 垃圾回收
到此这篇关于什么是JDK以及JDK都由哪些部分组成的文章就介绍到这了,更多相关Java工具包JDK详解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Spring 中jdbcTemplate 实现执行多条sql语句示例
本篇文章主要介绍了Spring 中jdbcTemplate 实现执行多条sql语句示例,可以对多个表执行多个sql语句,有兴趣的可以了解一下。2017-01-01
SpringBoot整合Spring Security实现基础认证与授权
在后端开发领域,认证(Authentication) 和授权(Authorization) 是系统安全的核心基石,Spring Security 作为 Spring 生态官方推荐的安全框架,是Java 后端安全开发的首选方案,本文给大家介绍了SpringBoot整合Spring Security实现基础认证与授权2026-04-04
springboot+vue2+elementui实现时间段查询方法
这篇文章主要介绍了springboot+vue2+elementui实现时间段查询方法,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧2024-05-05


最新评论