iT邦幫忙

2026 iThome 鐵人賽

DAY 2
0
自我挑戰組

從 Hello World 開始的 30 天 Java 之旅系列 第 2

Day 2 |Hello Java!從 Hello World 開始我的 30 天 Java 之旅

  • 分享至 

  • xImage
  •  

Day 2|Java 是什麼?JDK、JRE、JVM 到底差在哪?

昨天我們成功寫出了第一個 Java 程式:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

但可能會有一個問題:

Java 到底是怎麼把這段程式跑起來的?

這時就會遇到三個很常看到的名詞:JDK、JRE、JVM


Java 是什麼?

Java 有一個很有名的特色:

Write Once, Run Anywhere
寫一次,到處執行。

也就是說,同一份 Java 程式不需要為 Windows、macOS、Linux 各寫一份。

這背後的重要功臣,就是 JVM


JVM 是什麼?

JVM 全名是:

Java Virtual Machine(Java 虛擬機器)

Java 程式不會直接變成電腦看得懂的機器碼,而是先編譯成一種叫做Bytecode(位元組碼)的 .class 檔案。

流程大概是:

HelloWorld.java
      ↓
   編譯
      ↓
HelloWorld.class
      ↓
     JVM
      ↓
   執行程式

不同作業系統會有自己的 JVM,因此 Java 程式只要交給對應系統的 JVM,就可以執行。


JRE 是什麼?

JRE 全名是:

Java Runtime Environment(Java 執行環境)

它主要提供執行 Java 程式需要的環境。

可以簡單理解成:

JRE
└── JVM

如果只是要執行 Java 程式,需要的是執行環境。


JDK 是什麼?

JDK 全名是:

Java Development Kit(Java 開發工具包)

如果我們要自己寫 Java 程式,就需要 JDK。

JDK 裡面包含開發 Java 需要的工具,例如:

javac → 編譯 Java 程式
java  → 執行 Java 程式

所以可以把三者簡單想成:

JDK:拿來開發 Java
JRE:拿來執行 Java
JVM:真正負責執行 Java Bytecode

簡單記憶

如果覺得 JDK、JRE、JVM 很容易搞混,可以先記這句:

JDK 負責開發,JRE 提供執行環境,JVM 負責真正執行程式。

目前不需要把裡面的細節全部背起來,只要先知道它們各自在做什麼就可以了。

下一篇,我們就來看看 Java 程式最基本的結構,以及 public static void main 到底在寫什麼。


上一篇
Day 1 |Hello Java!從 Hello World 開始我的 30 天 Java 之旅
系列文
從 Hello World 開始的 30 天 Java 之旅2
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言