Java 學習筆記 07 – JVM、JRE、JDK


Posted by vickyh1315 on 2024-04-24

Java 是一門為了網路環境而開發的語言,採取將程式編譯成 bytecode,再根據不同平台的虛擬機器,轉成各環境可以執行的語言,實現多平台執行的平台獨立性。

// Country.java
class Country {
    void say(){
        System.out.println("aaa");
    }
    public static void main(String[] args) {
        Planet korea = new Country();
        korea.say();
    }
}

當輸入 javac Country.javajava Country 編譯、執行兩段指令,系統會運行 Java 並給予 Country 這個類別,虛擬環境會根據 bytecode(字節碼)執行代碼(會將bytecode轉換為操作系統可理解的機器指令)。

其中的核心概念有:

  • JVM (Java Virtual Machine)
    JVM 如同字面是一個虛擬機器,之所以稱為虛擬,是因為它提供一個不依賴於底層操作系統和機器硬件的接口。
    當執行程式時,會由 JVM 將 bytecode 轉換為機器可理解指令,是 Java 語言的核心,也提供內存管理、垃圾收集、安全性等功能
  • JRE (Java Runtime Environment) = JVM + Libraries + Other Components
    JRE 是執行 Java 程式的平台,由 JVM、Java 二進制文件和其他類別所組成,不含開發工具,包含編譯器、除錯工具、JShell,只能執行程式。
  • JDK (Java Develop Kit) = JRE + Compilers + Debuggers
    JDK 包含 Java 開發的套件,會根據平台而有所不同,包含 javac(編譯器)、java(執行 .class 的工具)、jar(打包工具)等開發、除錯工具和核心 JRE

#java







Related Posts

跟著 GitHub Learning Lab 實作一波

跟著 GitHub Learning Lab 實作一波

Go 起手式之一

Go 起手式之一

CSS 衍生的資安問題(下) - 我愛偷甚麼就偷甚麼

CSS 衍生的資安問題(下) - 我愛偷甚麼就偷甚麼


Comments