这篇文章简要介绍下JDK。

一、什么是JDK?

JDK(Java Development Kit)是Java开发工具包,是Java程序开发的核心环境。
它提供了编译、运行、调试Java程序所需的全部工具和库。
任何想要开发Java程序的开发者,都必须安装JDK。

二、JDK的主要组成部分

JDK主要由以下几个核心部分组成:

┌─────────────────────────────────────────┐
│                  JDK                    │
├─────────────────────────────────────────┤
│  1. 开发工具(Development Tools)        │
│  2. JRE(Java Runtime Environment)     │
│  3. Java标准类库(Java API)             │
│  4. 源代码(src.zip)                    │
└─────────────────────────────────────────┘
  1. 开发工具(Development Tools)

    • javac:Java编译器,将.java源文件编译为.class字节码文件
    • java:Java解释器/启动器,用于运行Java程序
    • javadoc:文档生成器,从源代码注释中生成API文档
    • jar:打包工具,将多个.class文件打包为.jar归档文件
    • jdb:Java调试器,用于调试Java程序
    • javap:反编译工具,查看.class文件的字节码内容
    • jconsole:Java监控和管理控制台
    • jvisualvm:可视化性能监控工具
    • jstack:线程堆栈跟踪工具
    • jmap:内存映射工具
    • jstat:JVM统计监控工具
    • jps:查看当前运行的Java进程
  2. JRE(Java Runtime Environment)—— Java运行时环境
    JRE是JDK的子集,提供运行Java程序所需的环境。
    JRE包含:

    • JVM(Java Virtual Machine):Java虚拟机,负责执行字节码
    • 核心类库:如java.lang、java.util、java.io等
    • 运行时支持文件
  3. JVM(Java Virtual Machine)—— Java虚拟机
    JVM是JRE的核心,是Java"一次编写,到处运行"的关键所在。
    主要职责包括:

    • 加载字节码(类加载器 ClassLoader)
    • 字节码验证
    • 解释执行/即时编译(JIT Compiler)
    • 内存管理与垃圾回收(GC)
    • 线程管理
  4. Java标准类库(Java API / Java SE API)
    提供了丰富的预定义类和接口,主要包括:

    • java.lang:基础类(String、Math、System、Object等)
    • java.util:集合框架、日期时间、工具类
    • java.io / java.nio:输入输出与文件操作
    • java.net:网络编程
    • java.sql:数据库访问(JDBC)
    • java.concurrent:并发编程
    • java.security:安全框架
    • java.math:数学运算
  5. 源代码(src.zip)
    JDK附带了Java标准类库的源代码,方便开发者学习和参考。

三、JDK、JRE、JVM三者的关系

  ┌──────────────────────────────────────┐
  │              JDK                     │
  │  ┌────────────────────────────────┐  │
  │  │            JRE                 │  │
  │  │  ┌──────────────────────────┐  │  │
  │  │  │          JVM             │  │  │
  │  │  └──────────────────────────┘  │  │
  │  │  + 核心类库                     │  │
  │  └────────────────────────────────┘  │
  │  + 开发工具(javac, jar, jdb...)     │
  └──────────────────────────────────────┘
  • JVM ⊂ JRE ⊂ JDK
  • 只需要运行Java程序 → 安装JRE即可
  • 需要开发Java程序 → 必须安装JDK

四、Java程序的编译和运行流程

  .java源文件
      │
      ▼ (javac编译)
  .class字节码文件
      │
      ▼ (java命令启动JVM)
  JVM加载并执行
      │
      ├── 类加载器加载.class
      ├── 字节码验证
      ├── 解释执行 / JIT即时编译
      └── 输出运行结果

五、常见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 = 类加载 + 字节码执行 + 内存管理 + 垃圾回收
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐