目录
一、先搞懂核心概念:JDK、JRE、JVM 三者的区别与联系
1. JVM(Java Virtual Machine,Java 虚拟机)
2. JRE(Java Runtime Environment,Java 运行时环境)
3. JDK(Java Development Kit,Java 开发工具包)
二、手把手教你安装 JDK(覆盖 Windows/macOS/Linux)
3. macOS 系统安装步骤(以 Intel 芯片为例,M 芯片类似)
想要学习 Java 编程,第一步就是搭建好开发环境。很多初学者会在这里卡壳 ——JDK、JRE、JVM 到底是什么关系?不同系统怎么安装?环境变量配置错了怎么办?别担心,这篇文章会用最通俗的语言和详细的步骤,带你搞定 Java 开发环境的搭建,最后还会写出你的第一个 Java 程序!
一、先搞懂核心概念:JDK、JRE、JVM 三者的区别与联系
在安装之前,必须先明确这三个 “绕不开” 的概念,否则后面配置时很容易 confusion。
1. JVM(Java Virtual Machine,Java 虚拟机)
- 作用:JVM 是 Java 跨平台特性的核心!它是一个 “虚拟的计算机”,负责将 Java 字节码(.class 文件)翻译成当前操作系统能理解的机器码,让程序能在不同系统上运行。
- 特点:JVM 本身依赖操作系统,不同系统(Windows、macOS、Linux)需要安装对应的 JVM 版本,但 Java 程序只需要编译一次,就能在所有安装了 JVM 的系统上运行(“一次编写,到处运行”)。
2. JRE(Java Runtime Environment,Java 运行时环境)
- 作用:简单说,JRE 是 “运行 Java 程序的最小环境”。它包含:
- JVM(虚拟机,核心组件);
- 运行 Java 程序必需的核心类库(如
java.lang
包下的基础类); - 其他支持程序运行的工具(如启动器、配置文件等)。
- 谁需要它:如果只想运行别人写好的 Java 程序(比如
.class
文件或.jar
包),安装 JRE 就够了。但作为开发者,我们需要的不止这些。
3. JDK(Java Development Kit,Java 开发工具包)
- 作用:JDK 是 “开发 Java 程序的工具包”,它包含了 JRE 的所有内容,还额外提供了编译、调试等开发工具:
- 编译器(
javac.exe
):将 Java 源代码(.java 文件)编译成字节码(.class 文件); - 调试工具(
jdb.exe
)、文档工具(javadoc.exe
)、打包工具(jar.exe
)等; - 更多开发相关的类库和资源。
- 编译器(
- 谁需要它:只要你想写 Java 代码,就必须安装 JDK—— 它是开发的 “全能工具箱”。
三者的关系总结
简单来说:JDK ⊇ JRE ⊇ JVM
- JDK 包含 JRE,JRE 包含 JVM;
- 开发时用 JDK,运行时(仅执行程序)用 JRE,跨平台靠 JVM。
用一个比喻理解:
- JVM 是 “翻译官”,负责把 Java 字节码翻译成系统能懂的语言;
- JRE 是 “运行基地”,给翻译官提供工作场所和基础工具;
- JDK 是 “开发工厂”,除了包含基地和翻译官,还提供了 “生产代码” 的全套设备。
二、手把手教你安装 JDK(覆盖 Windows/macOS/Linux)
目前 Java 的最新稳定版本是 JDK 21(LTS 长期支持版,推荐安装),以下是不同系统的安装步骤。
1. 下载 JDK
首先去 Oracle 官网(或 OpenJDK 社区)下载对应版本:
- Oracle JDK(需注册账号,商业用途可能收费,适合新手):Oracle 官网下载
- OpenJDK(开源免费,功能与 Oracle JDK 基本一致):Adoptium 镜像(推荐)
选择时注意:
- 操作系统(Windows/macOS/Linux);
- 系统位数(64 位,现在基本都是 64 位系统);
- 文件名示例:
jdk-21_windows-x64_bin.exe
(Windows)、OpenJDK21U-jdk_x64_mac_hotspot.pkg
(macOS)。
2. Windows 系统安装步骤(以 Win11 为例)
- 双击下载的
.exe
安装包,弹出安装界面,点击 “下一步”; - 重要:记住安装路径(默认路径如
C:\Program Files\Java\jdk-21
),后面配置环境变量需要用到,建议不要装在带空格或中文的路径下(避免后续报错); - 无需修改其他选项,一路点击 “下一步”,等待安装完成(可能会弹出 JRE 安装提示,直接默认安装即可)。
3. macOS 系统安装步骤(以 Intel 芯片为例,M 芯片类似)
- 双击下载的
.pkg
安装包,弹出安装向导,点击 “继续”; - 阅读许可协议后点击 “同意”,输入电脑密码授权安装;
- 默认安装路径为
/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home
(记住这个路径,后续配置会用到); - 安装完成后,打开终端(Terminal),输入
java -version
,若显示版本信息则安装成功。
4. Linux 系统安装步骤(以 Ubuntu 为例)
- 下载
.tar.gz
压缩包(如openjdk-21.0.2_linux-x64_bin.tar.gz
); - 打开终端,创建安装目录:
sudo mkdir -p /usr/local/java
; - 将压缩包解压到该目录:
sudo tar -zxvf 下载路径/openjdk-21.0.2_linux-x64_bin.tar.gz -C /usr/local/java
; - 解压后,路径类似
/usr/local/java/jdk-21.0.2
(记住此路径)。
三、环境变量配置:让系统 “认识” Java 命令
安装完 JDK 后,需要配置环境变量 —— 告诉系统 “Java 相关的命令(如 javac
、java
)在哪里”,否则在终端输入命令时会提示 “找不到命令”。
1. 环境变量的作用
- JAVA_HOME:指向 JDK 的安装目录,很多工具(如 Maven、Tomcat)会依赖这个变量找到 JDK;
- Path:系统的 “命令搜索路径”,将 JDK 的
bin
目录添加到 Path 中,终端才能直接识别javac
(编译器)、java
(运行命令)等工具。
2. Windows 系统配置步骤
- 找到 JDK 安装路径:比如
C:\Program Files\Java\jdk-21
(复制这个路径); - 打开环境变量配置窗口:
- 右键 “此电脑” → “属性” → “高级系统设置” → “环境变量”;
- 配置
JAVA_HOME
:- 在 “系统变量” 栏点击 “新建”;
- 变量名:
JAVA_HOME
; - 变量值:粘贴 JDK 安装路径(如
C:\Program Files\Java\jdk-21
); - 点击 “确定”;
- 配置
Path
:- 在 “系统变量” 中找到
Path
,双击打开; - 点击 “新建”,输入
%JAVA_HOME%\bin
(%JAVA_HOME%
会自动替换为上面配置的路径); - 点击 “上移”,将这条路径移到靠前位置(避免与其他版本冲突);
- 在 “系统变量” 中找到
- 验证配置:
- 打开 “命令提示符”(Win+R → 输入
cmd
); - 输入
javac -version
,若显示javac 21.0.2
类似信息,说明配置成功。
- 打开 “命令提示符”(Win+R → 输入
3. macOS/Linux 系统配置步骤
- 打开终端,编辑环境变量配置文件(以
bash
为例,若用zsh
则修改~/.zshrc
):bash
# macOS 通常用这个文件 vi ~/.bash_profile # Linux 通常用这个文件 vi ~/.bashrc
- 按
i
进入编辑模式,添加以下内容(注意替换为你的 JDK 路径):bash
# 配置 JAVA_HOME(macOS 路径示例) export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home # Linux 路径示例:export JAVA_HOME=/usr/local/java/jdk-21.0.2 # 配置 Path export PATH=$JAVA_HOME/bin:$PATH
- 按
Esc
退出编辑,输入:wq
保存并关闭文件; - 使配置生效:
bash
# macOS source ~/.bash_profile # Linux source ~/.bashrc
- 验证:输入
javac -version
,显示版本信息则成功。
四、第一个 Java 程序:Hello World 详解
环境搭建完成后,让我们写出第一行 Java 代码,体验从编写到运行的完整流程。
1. 编写代码
- 新建一个文本文件,命名为
HelloWorld.java
(文件名必须与类名一致,后缀是.java
); - 用记事本(Windows)、TextEdit(macOS)或 VS Code 打开,输入以下代码:
java
// 这是第一个 Java 程序 public class HelloWorld { // 程序入口:main 方法 public static void main(String[] args) { // 输出 "Hello, World!" 到控制台 System.out.println("Hello, World!"); } }
2. 代码解析
public class HelloWorld
:定义一个公开的类,类名必须和文件名(HelloWorld.java
)完全一致;public static void main(String[] args)
:Java 程序的 “入口点”,所有程序都从main
方法开始执行:public
:公开访问权限;static
:静态方法,无需创建对象即可执行;void
:无返回值;String[] args
:接收命令行参数的数组;
System.out.println("Hello, World!")
:打印语句,将括号中的内容输出到控制台,ln
表示换行。
3. 编译与运行(关键步骤)
Java 是 “编译型语言”,需要先将 .java
源代码编译成 .class
字节码,再运行字节码。
步骤:
- 打开终端,进入
HelloWorld.java
所在的文件夹(例如文件在D:\JavaCode
,则输入cd D:\JavaCode
); - 编译:输入
javac HelloWorld.java
,若代码无错误,会生成一个HelloWorld.class
文件(字节码文件); - 运行:输入
java HelloWorld
(注意不带.class
后缀),控制台会输出Hello, World!
。
常见问题排查
- 编译时报
错误: 找不到文件: HelloWorld.java
:检查终端是否进入了文件所在目录,或文件名是否拼写错误; - 运行时报
错误: 找不到或无法加载主类 HelloWorld
:检查类名是否与文件名一致,或环境变量配置是否错误; - 代码中中文乱码:编译时指定编码,如
javac -encoding UTF-8 HelloWorld.java
。