
大家好,我是小悟。
JDK(Java Development Kit,Java 开发工具包)是 Oracle 公司提供的用于 Java 程序开发的完整软件包。它是 Java 开发者不可或缺的核心工具,包含了编写、编译、调试和运行 Java 程序所需的一切组件。
JDK 主要由以下几个关键部分组成:
1. JRE(Java Runtime Environment,Java 运行时环境)
2. 开发工具 JDK 提供了丰富的命令行工具,其中最常用的包括:
工具命令 | 功能说明 |
|---|---|
javac | Java 编译器,将 .java 源文件编译为 .class 字节码文件 |
java | Java 解释器,启动 JVM 运行编译后的字节码文件 |
jar | Java 归档工具,用于打包和管理 JAR 文件 |
javadoc | API 文档生成器,从源代码注释中生成 HTML 格式的文档 |
jdb | Java 调试器,用于调试 Java 程序 |
javap | 反编译工具,查看类文件的反汇编信息 |
jps | 查看当前运行的 Java 进程信息 |
jstat | 监控 JVM 的统计信息,如垃圾回收、类加载等 |
3. 核心类库(Java API) JDK 内置了庞大的类库集合,为开发者提供了丰富的现成功能:
java.lang:Java 语言的核心类,如 String、Math、System 等java.util:集合框架、日期时间、随机数等工具类java.io:文件输入输出操作java.net:网络编程支持java.sql:数据库访问接口javax.swing:图形用户界面组件Java 的版本演进经历了几个重要阶段:
LTS(Long-Term Support) 指长期支持版本,Oracle 会提供至少 8 年的维护和更新,适合生产环境使用。
┌─────────────────────────────────────────────────────────┐
│ JDK │
│ ┌───────────────────────────────────────────────────┐ │
│ │ JRE │ │
│ │ ┌─────────────────────────────────────────────┐ │ │
│ │ │ JVM │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ │ 核心类库 (rt.jar) │ │
│ └───────────────────────────────────────────────────┘ │
│ 开发工具 (javac, jar, javadoc...) │
└─────────────────────────────────────────────────────────┘Homebrew 是 Mac 上最流行的包管理器,可以简化安装流程。
步骤 1:检查 Homebrew 是否已安装
brew --version如果未安装,执行以下命令安装 Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"步骤 2:搜索可用的 Java 版本
# 搜索所有 Java 相关包
brew search jdk
# 或搜索特定版本
brew search openjdk步骤 3:安装指定版本的 JDK
# 安装最新版本的 OpenJDK
brew install openjdk
# 安装 Java 17 (LTS)
brew install openjdk@17
# 安装 Java 11 (LTS)
brew install openjdk@11
# 安装 Java 8
brew install openjdk@8步骤 4:创建符号链接(如需要)
Homebrew 安装的 OpenJDK 通常会自动链接,但某些版本可能需要手动处理:
# 对于 OpenJDK 17
sudo ln -sfn $(brew --prefix)/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
# 对于 OpenJDK 11
sudo ln -sfn $(brew --prefix)/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk
# 对于 OpenJDK 8
sudo ln -sfn $(brew --prefix)/opt/openjdk@8/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-8.jdk步骤 1:访问 Oracle 官网
访问Oracle JDK 下载页面
步骤 2:选择适合的版本
.dmg 安装包格式步骤 3:安装 JDK
.dmg 文件/Library/Java/JavaVirtualMachines/ 目录下无论使用哪种安装方式,安装完成后都需要验证:
# 查看 Java 版本
java -version
# 查看 javac 编译器版本
javac -version
# 查看 JDK 安装路径
/usr/libexec/java_home -V正常输出示例:
openjdk version "17.0.9" 2023-10-17 LTS
OpenJDK Runtime Environment (build 17.0.9+8-LTS)
OpenJDK 64-Bit Server VM (build 17.0.9+8-LTS, mixed mode, sharing)Mac 默认使用 zsh(自 macOS Catalina 起),首先确认当前使用的 Shell:
echo $SHELL/bin/zsh → 使用 zsh,配置文件为 ~/.zshrc/bin/bash → 使用 bash,配置文件为 ~/.bash_profile步骤 1:找到 JDK 安装路径
# 获取 JDK 安装路径
/usr/libexec/java_home
# 如果需要指定版本
/usr/libexec/java_home -v 17步骤 2:编辑 Shell 配置文件
# 如果是 zsh
vim ~/.zshrc
# 如果是 bash
vim ~/.bash_profile步骤 3:添加环境变量配置
在文件末尾添加以下内容:
# JAVA_HOME 配置
export JAVA_HOME=$(/usr/libexec/java_home)
# 如果安装了多个版本,可以指定特定版本
# export JAVA_HOME=$(/usr/libexec/java_home -v 17)
# 将 JAVA_HOME 添加到 PATH
export PATH=$JAVA_HOME/bin:$PATH步骤 4:使配置生效
# 根据实际 Shell 选择
source ~/.zshrc # 或 source ~/.bash_profile步骤 5:验证环境变量
# 验证 JAVA_HOME 是否设置成功
echo $JAVA_HOME
# 验证 PATH 是否包含 Java
echo $PATH | grep java
# 再次验证 Java 命令
java -version
javac -version如果需要同时使用多个 Java 版本,可以配置版本切换功能:
方法一:使用 alias 快速切换
在 ~/.zshrc 中添加:
# Java 版本切换函数
function setjava() {
export JAVA_HOME=$(/usr/libexec/java_home -v $1)
export PATH=$JAVA_HOME/bin:$PATH
echo "Switched to Java $1"
java -version
}
# 设置快捷别名
alias java8='setjava 1.8'
alias java11='setjava 11'
alias java17='setjava 17'使用方法:
# 切换到 Java 8
java8
# 切换到 Java 11
java11
# 切换到 Java 17
java17方法二:使用 jEnv 管理
# 安装 jEnv
brew install jenv
# 配置 jEnv
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
source ~/.zshrc
# 添加已安装的 Java 版本
jenv add /Library/Java/JavaVirtualMachines/openjdk-17.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/openjdk-11.jdk/Contents/Home
# 设置全局版本
jenv global 17
# 设置当前目录版本
jenv local 11创建 HelloWorld.java 文件:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, Java JDK on Mac!");
System.out.println("Java Version: " + System.getProperty("java.version"));
System.out.println("Java Home: " + System.getProperty("java.home"));
System.out.println("OS Name: " + System.getProperty("os.name"));
}
}# 编译 Java 源文件
javac HelloWorld.java
# 运行编译后的字节码文件
java HelloWorld预期输出:
Hello, Java JDK on Mac!
Java Version: 17.0.9
Java Home: /Library/Java/JavaVirtualMachines/openjdk-17.jdk/Contents/Home
OS Name: Mac OS X# 查看目录内容
ls -la
# 使用 javap 查看字节码信息
javap -c HelloWorld原因:环境变量未正确配置
解决方案:
# 检查 JDK 是否已安装
ls /Library/Java/JavaVirtualMachines/
# 重新配置环境变量
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH原因:系统未找到 Java 运行时
解决方案:
# 安装 JDK
brew install openjdk@17
# 或创建符号链接
sudo ln -sfn $(brew --prefix)/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk原因:系统存在多个 Java 版本
解决方案:
# 查看所有已安装版本
/usr/libexec/java_home -V
# 明确指定使用的版本
export JAVA_HOME=$(/usr/libexec/java_home -v 17)安装方式 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
Homebrew | 命令行操作,版本管理便捷,更新简单 | 默认安装 OpenJDK(非 Oracle 官方) | 开发环境,习惯包管理的用户 |
Oracle 官网 | 官方原版,包含商业功能 | 需要手动下载,更新不便 | 企业环境,需要官方支持 |
SDKMAN | 多版本管理强大,切换灵活 | 需要额外安装 | 需要频繁切换版本的开发者 |
完成 JDK 安装与环境配置后,可以继续学习:
通过本教程,成功在 Mac 上完成了 Java JDK 的安装和环境配置。这是 Java 开发之路的第一步,也是至关重要的一步。配置完成后,就可以开始编写、编译和运行 Java 程序,开启 Java 开发之旅了。

谢谢你看我的文章,既然看到这里了,如果觉得不错,随手点个赞、转发、在看三连吧,感谢感谢。那我们,下次再见。
您的一键三连,是我更新的最大动力,谢谢
山水有相逢,来日皆可期,谢谢阅读,我们再会
我手中的金箍棒,上能通天,下能探海
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。