Trước khi viết một dòng code Java, bạn cần chuẩn bị dụng cụ. Giống như thợ mộc không thể bắt đầu khi chưa có búa, cưa, và thước — lập trình viên Java cần JDK (để compile và chạy code) và IDE (để viết code hiệu quả).
Bài này hướng dẫn từng bước cài đặt cho cả ba nền tảng phổ biến, kèm mẹo quản lý nhiều phiên bản JDK — kỹ năng quan trọng khi bạn làm việc với nhiều dự án cùng lúc.
1. Analogy — "Dụng cụ của người thợ"
Người thợ mộc trước khi xây nhà phải chuẩn bị:
- Búa, cưa, thước — công cụ thực hiện công việc
- Xưởng — nơi làm việc có ánh sáng, bàn làm việc, tủ đựng đồ
Lập trình viên Java cũng vậy:
- JDK = búa + cưa = công cụ thực thi (
javaccompile,javachạy) - IntelliJ IDEA = xưởng = môi trường làm việc có gợi ý code, debug, kiểm tra lỗi ngay khi gõ
Thiếu JDK thì IDE cũng chạy trống không. Thiếu IDE thì bạn sẽ viết code bằng Notepad — được, nhưng mất nhiều thời gian hơn cần thiết.
💡 💡 Cách nhớ
JDK là hộp công cụ — không có nó, bạn không thể "xây" gì. IDE là xưởng thợ — không có nó, bạn phải làm bằng tay từng bước. Cài cả hai ngay từ đầu.
2. Hai thứ phải có
Trước khi cài bất cứ thứ gì, ghi nhớ danh sách:
| Thứ cần cài | Tác dụng | Version khuyến nghị |
|---|---|---|
| JDK 21 | Compile .java sang .class, chạy bytecode | 21 LTS (Eclipse Temurin) |
| IntelliJ IDEA Community | IDE miễn phí, đầy đủ tính năng Java | Phiên bản mới nhất |
JDK 21 là phiên bản LTS (Long-Term Support) mới nhất tính đến 2024 — Oracle hỗ trợ bảo mật đến tận 2031. Không cần dùng phiên bản mới hơn (Java 22, 23, 24 không phải LTS, hỗ trợ chỉ 6 tháng).
3. Cài JDK 21
Có nhiều cách cài JDK tùy nền tảng. Hướng dẫn dưới đây dùng Eclipse Temurin — distribution OpenJDK phổ biến nhất, miễn phí hoàn toàn.
3.1 macOS
Cách 1 — dùng Homebrew (khuyến nghị):
# Cai Homebrew neu chua co
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Cai Temurin 21
brew install --cask temurin@21
# Verify
java --version
javac --version
Cách 2 — dùng SDKMAN (tốt hơn nếu cần quản lý nhiều version):
# Cai SDKMAN
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
# Cai Temurin 21
sdk install java 21.0.3-tem
# Verify
java --version
# openjdk version "21.0.3" 2024-04-16
# OpenJDK Runtime Environment Temurin-21.0.3+9
3.2 Ubuntu / Linux
# Cap nhat package list
sudo apt update
# Cai OpenJDK 21
sudo apt install openjdk-21-jdk -y
# Verify
java --version
javac --version
# Xem JAVA_HOME
update-alternatives --list java
Nếu máy đã có nhiều JDK cũ, chọn version dùng mặc định:
sudo update-alternatives --config java
# Chon so tuong ung voi java-21
3.3 Windows
- Vào adoptium.net — trang chính thức của Eclipse Temurin
- Chọn Temurin 21 (LTS), chọn Windows x64
- Tải file
.msi(installer có giao diện) - Chạy installer, chọn "Set JAVA_HOME variable" và "Add to PATH" — đánh dấu cả hai
- Mở Command Prompt mới, verify:
java --version
javac --version
💡 💡 Lưu ý Windows
Phải mở Command Prompt mới sau khi cài — cửa sổ cũ chưa load lại PATH nên không thấy java. Nếu vẫn không thấy, kiểm tra System Properties → Environment Variables có JAVA_HOME và %JAVA_HOME%\bin trong PATH chưa.
3.4 Verify sau khi cài
Dù cài theo cách nào, output phải là Java 21:
java --version
# openjdk 21.0.3 2024-04-16
# OpenJDK Runtime Environment Temurin-21.0.3+9 (build 21.0.3+9)
# OpenJDK 64-Bit Server VM Temurin-21.0.3+9 (build 21.0.3+9, mixed mode)
javac --version
# javac 21.0.3
Nếu thấy version 21.x — JDK đã sẵn sàng.
4. Cài IntelliJ IDEA Community
IntelliJ IDEA có 2 edition:
- Community — miễn phí, đầy đủ tính năng Java, Spring, Maven, Gradle
- Ultimate — trả phí, thêm hỗ trợ web framework, database, profiler nâng cao
Với khóa học này và hầu hết dự án Java thông thường, Community Edition là đủ.
4.1 Tải và cài
- Vào jetbrains.com/idea/download
- Chọn hệ điều hành, kéo xuống mục Community Edition (không phải Ultimate)
- Tải về và chạy installer
- Với macOS: kéo IntelliJ IDEA CE vào thư mục Applications
4.2 Tạo project Java đầu tiên
Sau khi mở IntelliJ IDEA lần đầu:
- Chọn New Project
- Chọn Java (cột trái)
- Phần JDK: click dropdown, chọn "Add JDK" nếu chưa thấy Java 21, trỏ tới thư mục cài JDK
- Đặt tên project (ví dụ:
HelloJava) - Click Create
IntelliJ sẽ tạo cấu trúc thư mục:
HelloJava/
src/
Main.java <-- file code chinh
HelloJava.iml <-- module config (intellij)
💡 💡 Cách nhớ IDE
IntelliJ IDEA Community giống xưởng thợ đầy đủ nhưng miễn phí — bạn có tất cả công cụ cần thiết mà không phải trả tiền. Ultimate là phiên bản xưởng thợ cao cấp hơn, nhưng phần hầu hết cần, Community đã có sẵn.
5. Quản lý nhiều version JDK với SDKMAN
Trong thực tế doanh nghiệp, bạn thường phải làm việc với nhiều dự án cùng lúc — dự án A yêu cầu Java 17, dự án B yêu cầu Java 21, dự án C legacy vẫn chạy Java 11. Đổi JDK thủ công mỗi lần rất mất thời gian.
SDKMAN giải quyết chính xác bài toán này — giống như nvm cho Node.js hay pyenv cho Python.
💡 💡 Cách nhớ
SDKMAN giống bộ chuyển kênh TV — bạn có nhiều JDK cài sẵn trên máy, muốn dùng version nào thì chuyển bằng 1 lệnh. Không cần gỡ cài rồi cài lại.
5.1 Cài SDKMAN (macOS và Linux)
# Cai SDKMAN
curl -s "https://get.sdkman.io" | bash
# Ap dung vao shell hien tai
source "$HOME/.sdkman/bin/sdkman-init.sh"
# Hoac them vao ~/.zshrc / ~/.bashrc de tu dong load:
# source "$HOME/.sdkman/bin/sdkman-init.sh"
5.2 Các lệnh SDKMAN hay dùng
# Xem danh sach JDK co the cai
sdk list java
# Cai Temurin 21 (LTS)
sdk install java 21.0.3-tem
# Cai Temurin 17 (LTS cu)
sdk install java 17.0.11-tem
# Switch sang Java 17 cho session hien tai
sdk use java 17.0.11-tem
# Dat Java 21 lam default
sdk default java 21.0.3-tem
# Xem version dang dung
sdk current java
# Kiem tra phien ban moi
sdk upgrade java
5.3 jEnv — lựa chọn thay thế trên macOS
Nếu bạn đã quen cài JDK qua Homebrew và muốn quản lý version mà không dùng SDKMAN:
# Cai jEnv
brew install jenv
# Them vao ~/.zshrc
export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"
# Dang ky JDK da cai vao jEnv
jenv add /Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
# Chon version mac dinh
jenv global 21.0.3
# Chon version cho thu muc hien tai (luu vao .java-version)
jenv local 17.0.11
6. ✅/❌ Khi nào cần multi-JDK
Cần quản lý nhiều JDK khi:
- ✅ Làm việc với nhiều dự án yêu cầu version khác nhau
- ✅ Contribute open source — nhiều project vẫn build trên Java 11/17
- ✅ Test compatibility — check app có chạy đúng trên nhiều version không
- ✅ Dự án công ty cũ chạy Java 8 hoặc 11 — không thể upgrade ngay
Chỉ cần 1 version khi:
- ❌ Mới học, chưa có dự án cũ — Java 21 LTS là đủ
- ❌ Side project cá nhân — không có áp lực version cụ thể
- ❌ Đang học khóa học — Java 21 theo toàn bộ nội dung khóa này
7. So sánh các IDE phổ biến
| IntelliJ IDEA Community | VS Code + Extension Pack | Eclipse | |
|---|---|---|---|
| License | Miễn phí | Miễn phí | Miễn phí |
| Java support | Xuất sắc (built-in) | Tốt (qua extension) | Tốt (built-in) |
| UX/Giao diện | Mượt, hiện đại | Nhẹ, linh hoạt | Nặng hơn, phức tạp hơn |
| Refactoring | Rất mạnh | Cơ bản | Tốt |
| Memory | ~500MB RAM | ~200MB RAM | ~400MB RAM |
| Best for | Học Java, dự án thực tế | Dev đã quen VS Code, nhiều ngôn ngữ | Legacy project, enterprise cũ |
Khuyến nghị cho khóa học này: IntelliJ IDEA Community. Tất cả ví dụ và screenshot trong khóa dùng IntelliJ.
VS Code là lựa chọn tốt nếu bạn đã dùng nó cho JavaScript/Python — cài Extension Pack for Java là đủ để học. Nhược điểm: autocomplete và refactoring kém hơn IntelliJ.
Eclipse phổ biến ở các công ty có hệ thống cũ, ít được dùng cho dự án mới.
8. Bảng cài JDK nhanh theo OS
| OS | Lệnh cài | Verify |
|---|---|---|
| macOS (Homebrew) | brew install --cask temurin@21 | java --version |
| macOS (SDKMAN) | sdk install java 21.0.3-tem | java --version |
| Ubuntu/Debian | sudo apt install openjdk-21-jdk -y | java --version |
| Fedora/RHEL | sudo dnf install java-21-openjdk-devel -y | java --version |
| Windows | Tải .msi từ adoptium.net | java --version (CMD mới) |
| SDKMAN (mọi OS) | sdk install java 21.0.3-tem | sdk current java |
9. 📚 Deep Dive Oracle
ℹ️ 📚 Deep Dive Oracle (optional)
Tài liệu chính thức:
- JDK 21 Installation Guide — hướng dẫn cài đặt Oracle JDK 21 trên tất cả OS
- Eclipse Temurin (Adoptium) — trang chính thức Temurin, download và docs
- SDKMAN Official Docs — hướng dẫn đầy đủ lệnh SDKMAN
- IntelliJ IDEA Community Docs — hướng dẫn bắt đầu với IntelliJ
Ghi chú thực tế: Adoptium (Eclipse Foundation) là tổ chức phi lợi nhuận phân phối Temurin — đây là lý do Temurin hoàn toàn miễn phí kể cả cho production. Oracle JDK từ Java 17+ yêu cầu trả phí license cho production — xem Oracle Java SE Subscription.
10. Tóm tắt
- Cần 2 thứ để bắt đầu: JDK 21 (compiler + runtime) và IntelliJ IDEA Community (IDE).
- Dùng Eclipse Temurin 21 — miễn phí, phổ biến nhất, hỗ trợ đến 2031.
- Cài theo OS:
brew install --cask temurin@21(macOS),apt install openjdk-21-jdk(Ubuntu),.msitừ adoptium.net (Windows). - Luôn verify bằng
java --version— phải thấy21.x. - SDKMAN =
nvmcho Java — quản lý nhiều version JDK, switch bằng 1 lệnh. - IntelliJ IDEA Community miễn phí, đủ dùng cho toàn bộ khóa học và hầu hết dự án thực tế.
11. Tự kiểm tra
- Vì sao bài trước nói "developer luôn cài JDK", không phải JRE? Khác nhau cụ thể ở chỗ nào khi cài?
- Bạn có 2 dự án: dự án A cần Java 11, dự án B cần Java 21. Bạn sẽ làm gì để làm việc với cả hai mà không phải gỡ cài đặt thủ công?
- Sau khi cài JDK trên Windows, bạn mở Command Prompt cũ và gõ
java --version— báo lỗi "not recognized". Tại sao? Bạn xử lý thế nào? - IntelliJ IDEA Community vs VS Code cho Java — khi nào bạn chọn cái nào?
Bài tiếp theo: Hello World và cấu trúc một class Java