文章目录前言一、什么是JDK为什么需要JDK二、JDK的核心架构与组件1. 开发工具Development Tools2. JREJava Runtime Environment三、JDK、JRE、JVM包含关系解析包含关系公式实际应用场景四、Java程序从源码到执行的完整流程详细步骤解析1. 编写源代码2. 编译阶段javac五、常见JDK版本六、总结前言Java作为全球最流行的编程语言之一其成功离不开强大而完善的开发工具包——JDK。无论你是刚刚踏入Java世界的新手还是经验丰富的开发者深入理解JDK的组成、工作原理和最佳实践都能显著提升你的开发效率和问题解决能力。让我们开始这段JDK探索之旅吧一、什么是JDKJDKJava Development Kit是Java开发工具包它是Oracle公司为Java开发者提供的一套完整的开发环境。无论你是初学者还是资深开发者只要想编写、编译、调试和运行Java程序JDK都是必不可少的核心工具。为什么需要JDK编译需求Java源代码.java文件需要编译成字节码.class文件才能执行运行环境提供Java程序运行所需的虚拟机JVM和核心类库开发工具包含编译器、调试器、打包工具等全套开发工具链标准库提供丰富的API避免重复造轮子简单来说没有JDK就无法进行Java开发。二、JDK的核心架构与组件JDK是一个分层架构理解其组成有助于掌握Java开发的完整生态Java Development KitJDK开发工具Development ToolsJava运行时环境JREJava标准类库Java API源代码src.zipJava虚拟机JVM核心类库Core Libraries1. 开发工具Development Tools这是JDK区别于JRE的核心部分包含以下关键工具工具作用常用命令示例javacJava编译器将.java源文件编译为.class字节码javac HelloWorld.javajavaJava程序启动器运行编译后的.class文件java HelloWorldjar打包工具创建可执行的JAR文件jar cvf app.jar *.classjavadocAPI文档生成器javadoc -d docs *.javajdbJava调试器jdb HelloWorldjconsole图形化监控工具监控JVM性能jvisualvm可视化性能分析工具分析内存、线程等2. JREJava Runtime EnvironmentJRE是JDK的子集专门用于运行Java程序包含JVMJava虚拟机执行字节码的核心引擎核心类库java.lang、java.util、java.io等基础包配置文件安全策略、字体配置等三、JDK、JRE、JVM包含关系解析三者是层层包含的关系理解这一点对Java环境配置至关重要Java Development KitJava Runtime EnvironmentJava Virtual Machine类加载器字节码验证即时编译JIT内存管理核心类库开发工具 javac/jar/jdb...包含关系公式JDK JRE 开发工具 JRE JVM 核心类库实际应用场景场景需要安装说明仅运行Java程序JRE用户只需运行环境如运行.jar文件开发Java应用JDK开发者需要编译、调试等全套工具服务器部署JRE或JDK生产环境通常只需JRE但JDK便于排查问题学习JavaJDK需要查看源码、调试、生成文档四、Java程序从源码到执行的完整流程理解Java程序的完整生命周期有助于排查编译和运行时问题热点代码普通代码编写Java源码HelloWorld.java编译阶段javac编译器生成字节码文件HelloWorld.class运行阶段java命令启动JVM类加载器加载.class文件字节码验证器检查安全性解释器逐行执行JIT编译器优化编译为本地机器码继续解释执行输出结果Hello, World!详细步骤解析1. 编写源代码// HelloWorld.javapublicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println(Hello, World!);}}2. 编译阶段javac# 编译命令javac HelloWorld.java# 编译过程1. 词法分析将源码分解为token2. 语法分析构建抽象语法树AST3. 语义分析检查类型、作用域等4. 生成字节码输出HelloWorld.class文件五、常见JDK版本JDK 8LTS2014年发布引入Lambda表达式、Stream APIJDK 11LTS2018年发布移除JavaFX引入HTTP ClientJDK 17LTS2021年发布密封类、模式匹配增强JDK 21LTS2023年发布虚拟线程、结构化并发注LTS Long-Term Support长期支持版本六、总结JDK 是 Java 开发的基础理解其组成结构有助于我们更好地掌握 Java 开发。核心记忆点JDK 开发工具 JREJRE JVM 核心类库JVM 类加载 字节码执行 内存管理 垃圾回收