1. 为什么需要JDK?
Java开发者都知道,JDK(Java Development Kit)是Java开发的基础工具包。它包含了运行Java程序所需的JRE(Java Runtime Environment),以及编译器(javac)、调试器(jdb)等开发工具。没有JDK,你连最简单的"Hello World"都编译不了。
我见过太多新手在环境搭建这一步就放弃了Java学习。要么是下载了错误的版本,要么是环境变量配置不对,甚至有人把JRE当成JDK安装。这些问题看似简单,却实实在在地挡住了无数初学者的去路。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. JDK版本选择指南
2.1 长期支持版(LTS)vs 非LTS版
目前Oracle JDK的LTS版本包括8、11、17和最新的21。LTS版本会获得长期的技术支持和安全更新,而非LTS版本(如12-16、18-20)通常只有6个月的生命周期。
重要提示:生产环境强烈建议使用LTS版本。我个人的项目目前主要使用JDK 17,它提供了很好的新特性支持同时又足够稳定。
2.2 Oracle JDK vs OpenJDK
Oracle JDK和OpenJDK在功能上几乎完全相同,主要区别在于授权协议和更新策略:
- Oracle JDK:商业用途需要付费订阅
- OpenJDK:完全开源免费
对于个人学习和小型项目,我推荐使用OpenJDK。各大厂商如Adoptium、Amazon、Azul等都提供了高质量的OpenJDK构建。
2.3 各版本特性对比
| 版本 | 发布时间 | 重要特性 |
|---|---|---|
| JDK 8 | 2014 | Lambda表达式、Stream API |
| JDK 11 | 2018 | HTTP Client API、局部变量类型推断(var) |
| JDK 17 | 2021 | 密封类、文本块 |
| JDK 21 | 2023 | 虚拟线程、记录模式 |
3. 详细安装步骤
3.1 Windows平台安装
-
下载安装包:
- 访问Adoptium官网
- 选择版本(推荐Temurin 17 LTS)
- 下载.msi安装包(比.zip更方便)
-
运行安装向导:
- 双击.msi文件
- 建议使用默认安装路径(C:\Program Files\Java\)
- 记下安装路径,后面配置环境变量需要
-
验证安装:
打开命令提示符,输入:bash复制
java -version javac -version应该能看到类似输出:
code复制openjdk version "17.0.8" 2023-07-18 OpenJDK Runtime Environment Temurin-17.0.8+7 (build 17.0.8+7) OpenJDK 64-Bit Server VM Temurin-17.0.8+7 (build 17.0.8+7, mixed mode)
3.2 macOS平台安装
-
通过Homebrew安装(推荐):
bash复制
brew tap adoptopenjdk/openjdk brew install --cask temurin17 -
手动安装:
- 下载.pkg文件
- 双击运行安装程序
- 安装完成后同样需要验证版本
3.3 Linux平台安装
对于Debian/Ubuntu:
bash复制sudo apt update
sudo apt install openjdk-17-jdk
对于RHEL/CentOS:
bash复制sudo yum install java-17-openjdk-devel
4. 环境变量配置详解
4.1 Windows环境配置
- 打开系统属性 -> 高级 -> 环境变量
- 在系统变量中新建:
- 变量名:JAVA_HOME
- 变量值:JDK安装路径(如C:\Program Files\Java\jdk-17)
- 编辑Path变量,添加:
code复制%JAVA_HOME%\bin
4.2 macOS/Linux环境配置
在~/.zshrc或~/.bashrc中添加:
bash复制export JAVA_HOME=$(/usr/libexec/java_home -v 17)
export PATH=$JAVA_HOME/bin:$PATH
然后执行:
bash复制source ~/.zshrc
5. 常见问题排查
5.1 "java不是内部或外部命令"
这说明环境变量配置不正确。检查:
- JAVA_HOME是否指向正确的JDK目录
- Path中是否包含%JAVA_HOME%\bin
- 是否重新打开了命令提示符窗口
5.2 版本混乱问题
当系统中有多个JDK时,可以通过以下命令指定使用哪个版本:
bash复制# Windows
set JAVA_HOME=C:\path\to\jdk17
# macOS/Linux
export JAVA_HOME=/path/to/jdk17
5.3 IDE无法识别JDK
在IntelliJ IDEA中:
- File -> Project Structure -> SDKs
- 添加新的JDK,选择安装目录
- 确保项目使用的SDK版本正确
6. 进阶配置建议
6.1 多版本管理工具
对于需要频繁切换JDK版本的情况,推荐使用:
- Windows:jEnv
- macOS:jEnv或SDKMAN
- Linux:SDKMAN
例如使用SDKMAN安装和管理多个JDK:
bash复制sdk install java 17.0.8-tem
sdk use java 17.0.8-tem
6.2 性能调优参数
在生产环境中,可以设置以下JVM参数:
bash复制java -Xms512m -Xmx1024m -XX:+UseG1GC -jar yourapp.jar
- -Xms:初始堆大小
- -Xmx:最大堆大小
- -XX:+UseG1GC:使用G1垃圾回收器
6.3 开发工具推荐
完整的Java开发环境还需要:
- 构建工具:Maven或Gradle
- IDE:IntelliJ IDEA(社区版免费)
- 版本控制:Git
- 测试框架:JUnit 5
7. 验证开发环境
创建一个简单的HelloWorld.java:
java复制public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, Java!");
}
}
编译并运行:
bash复制javac HelloWorld.java
java HelloWorld
如果看到"Hello, Java!"输出,恭喜你,Java开发环境已经准备就绪!
