Java 架构

发布: (2026年2月4日 GMT+8 12:33)
3 min read
原文: Dev.to

Source: Dev.to

JDK

JDK(Java 开发工具包)提供用于开发 Java 应用程序的工具和库,配合 JRE 与 JVM 使用。JRE(Java 运行时环境)提供运行 Java 程序所需的库和 JVM。JVM(Java 虚拟机)在系统上执行编译后的 Java 字节码。

Java Source Code
(.java)


┌────────────────────────┐
│          JDK           │
│                        │
│  Development Tools     │
│  ┌──────────────────┐ │
│  │ javac → Compile  │ │
│  │ java  → Run      │ │
│  │ javadoc → Docs   │ │
│  │ jar   → Package  │ │
│  └─────────┬────────┘ │
│            │          │
│            ▼          │
│        ┌────────┐     │
│        │  JRE   │     │
│        │        │     │
│        │  JVM   │     │
│        │ + Libs │     │
│        └────────┘     │
└────────────────────────┘


OS / Hardware

JRE

Java 运行时环境(JRE)是 Java 程序运行所必需的软件包。JRE 包含 Java 虚拟机(JVM),后者通过解释和即时编译(JIT)相结合的方式执行 Java 字节码。JRE 主要负责运行 Java 应用程序,而部署工具主要由 Java 开发工具包(JDK)提供。

                    .class file (Bytecode)


┌─────────────────────────┐
│           JRE           │
│   (Java Runtime Env.)   │
│                         │
│  ┌───────────────┐      │
│  │      JVM      │      │
│  │───────────────│      │
│  │ Execution     │      │
│  │ Engine        │      │
│  │ ┌─────────┐   │      │
│  │ │Interpreter│ │      │
│  │ └─────────┘   │      │
│  │ ┌─────────┐   │      │
│  │ │   JIT    │ │      │
│  │ │ Compiler │ │      │
│  │ └─────────┘   │      │
│  └───────────────┘      │
│  ┌───────────────┐      │
│  │ Java Libraries│      │
│  │ (API Classes) │      │
│  └───────────────┘      │
└─────────────────────────┘


        Output

JVM

JVM 是一种虚拟机,为 Java 字节码提供执行环境。JVM 充当 Java 代码与底层硬件及操作系统之间的中间层,使 Java 程序能够在各种平台和系统上高效、可靠地运行。

      Bytecode
   (.class)


┌───────────────────────┐
│          JVM          │
│                       │
│  ┌─────────────────┐ │
│  │  Class Loader   │ │
│  └────────┬────────┘ │
│           │          │
│           ▼          │
│  ┌─────────────────┐ │
│  │ Runtime Data    │ │
│  │    Areas        │ │
│  │ (Heap, Stack)  │ │
│  └────────┬────────┘ │
│           │          │
│           ▼          │
│  ┌─────────────────┐ │
│  │ Execution       │ │
│  │   Engine        │ │
│  │ (Interpreter + │ │
│  │   JIT + GC)    │ │
│  └────────┬────────┘ │
│           │          │
│           ▼          │
│        Output        │
└───────────────────────┘
Back to Blog

相关文章

阅读更多 »

垃圾回收深入解析 (JAVA)

您确定要隐藏此评论吗?它将在您的 post 中被隐藏,但仍可通过该评论的 permalink 查看。隐藏子评论……

Java简介

封面图片:Introduction to Java https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s...

JDK

什么是 JDK?JDK 是一个完整的软件包,用于开发 Java 应用程序。它包含用于编写、编译、调试和运行 Java 程序的工具。When is J...

开启 RUST

我的 Java 到 Rust 的转变之路:更换 technology stack 你好,我叫 Garik,今天我想与大家分享我决定更换 technology stack 的故事。