Core Java - Khoá học từ Cơ bản đến Nâng cao
Chào mừng bạn đến với Khoá học Core Java - hành trình toàn diện từ những khái niệm cơ bản nhất đến các kỹ thuật nâng cao trong Java.
Khoá học này dành cho ai?
Khoá học được thiết kế cho nhiều đối tượng:
- Sinh viên, người mới bắt đầu: Chưa biết lập trình hoặc mới học
- Developer đã biết ngôn ngữ khác: Muốn chuyển sang Java
- Java Developer: Muốn cập nhật kiến thức Java hiện đại (17/21)
- Người chuẩn bị phỏng vấn: Cần ôn tập Core Java có hệ thống
Nội dung khoá học
Khoá học gồm 15 modules, ~86 bài học, chia thành 3 giai đoạn:
Giai đoạn 1: Cơ bản
| Module | Nội dung | Số bài | Độ khó |
|---|---|---|---|
| 1. Nền tảng Java | JVM/JDK, cú pháp, kiểu dữ liệu, luồng điều khiển, packages | 6 | ⭐ |
| 2. OOP Cơ bản | Class, Object, Constructor, Encapsulation | 5 | ⭐⭐ |
| 3. OOP Nâng cao | Inheritance, Polymorphism, Interface, Annotations | 6 | ⭐⭐⭐ |
| 4. Strings & Arrays | String pool, StringBuilder, Wrapper Classes, mảng đa chiều | 5 | ⭐⭐ |
| 5. Exception Handling | try-catch, custom exceptions, best practices | 4 | ⭐⭐ |
Giai đoạn 2: Trung cấp
| Module | Nội dung | Số bài | Độ khó |
|---|---|---|---|
| 6. Generics | Type safety, bounded types, wildcards, PECS | 5 | ⭐⭐⭐ |
| 7. Collections Framework | List, Set, Map, Queue, Comparator | 7 | ⭐⭐⭐ |
| 8. I/O & NIO | File I/O, Streams, NIO Channels, Serialization | 6 | ⭐⭐⭐ |
| 9. Multithreading | Thread, Synchronization, ExecutorService | 7 | ⭐⭐⭐⭐ |
| 10. Functional Programming | Lambda, Stream API, Optional | 7 | ⭐⭐⭐ |
Giai đoạn 3: Nâng cao
| Module | Nội dung | Số bài | Độ khó |
|---|---|---|---|
| 11. Modern Java (17/21) | Records, Sealed Classes, Virtual Threads | 7 | ⭐⭐⭐ |
| 12. Java Security | JCA, Cryptography, SSL/TLS, Secure Coding, OWASP | 6 | ⭐⭐⭐ |
| 13. JVM Internals & Memory | JVM Architecture, GC, Collection Internals, Performance | 8 | ⭐⭐⭐⭐ |
| 14. Design Patterns | Creational, Structural, Behavioral, SOLID | 5 | ⭐⭐⭐⭐ |
Lộ trình học theo đối tượng
Lộ trình 1: Người mới hoàn toàn (Chưa biết lập trình)
Modules: 1 → 2 → 3 → 4 → 5 → 6 → 7 → 10
Thời gian ước tính: ~40-45 giờ
Bắt đầu từ nền tảng, xây dựng dần kiến thức OOP, sau đó học Generics, Collections và Functional Programming.
Lộ trình 2: Đã biết ngôn ngữ khác (Mới học Java)
Modules: 1 (đọc nhanh) → 2 → 3 → 6 → 7 → 8 → 9 → 10 → 11 → 12
Thời gian ước tính: ~35-40 giờ
Lướt qua cú pháp cơ bản, tập trung vào OOP và các tính năng đặc trưng của Java, bao gồm bảo mật.
Lộ trình 3: Java Developer cũ (Muốn cập nhật Java mới)
Modules: 10 → 11 → 13 → 14
Thời gian ước tính: ~20-25 giờ
Tập trung vào Functional Programming, Java mới (17/21), JVM Internals và Design Patterns.
Lộ trình 4: Chuẩn bị phỏng vấn
Modules: 2 → 3 → 5 → 6 → 7 → 9 → 10 → 12 → 13 → 14
Thời gian ước tính: ~45-50 giờ
Ôn tập có hệ thống các chủ đề thường gặp trong phỏng vấn Java, bao gồm bảo mật và JVM internals — chủ đề phỏng vấn phổ biến.
Yêu cầu trước khi học
Kiến thức cần có
- Hiểu biết cơ bản về máy tính
- Biết cách sử dụng command line/terminal
- (Không bắt buộc) Kiến thức lập trình cơ bản ở bất kỳ ngôn ngữ nào
Công cụ cần thiết
- JDK 17 hoặc 21 (LTS versions)
- IDE: IntelliJ IDEA (khuyến nghị), Eclipse, hoặc VS Code
- Terminal/Command Line
Mini Projects theo module
Mỗi module đều có bài tập thực hành và mini project:
| Module | Mini Project |
|---|---|
| 1. Fundamentals | Calculator đơn giản |
| 2-3. OOP | Hệ thống quản lý ngân hàng |
| 4. Strings/Arrays | Word counter, Text analyzer |
| 5. Exceptions | File validator |
| 6. Generics | Generic data container |
| 7. Collections | Contact manager |
| 8. I/O | Generic file processor |
| 9. Concurrency | Multi-threaded file downloader |
| 10. FP | Stream-based data processor |
| 11. Modern Java | Refactoring code cũ sang Java 21 |
| 12. Java Security | Secure user registration & API signing |
| 13. JVM Internals | Memory profiling & GC analysis |
| 14. Design Patterns | Áp dụng patterns vào projects trước |
Phương pháp học hiệu quả
1. Học theo thứ tự
Các module được thiết kế tuần tự. Kiến thức module sau dựa trên module trước.
2. Thực hành nhiều
- Gõ lại code thay vì copy-paste
- Thử thay đổi code và quan sát kết quả
- Làm tất cả bài tập trước khi xem lời giải
3. Xây dựng project
Áp dụng kiến thức vào mini project của mỗi module.
4. Ghi chú
Tóm tắt kiến thức theo cách hiểu của riêng bạn.
Resources bổ sung
Books
- "Effective Java" - Joshua Bloch
- "Java: The Complete Reference" - Herbert Schildt
- "Head First Java" - Kathy Sierra & Bert Bates
Online
Practice
Sẵn sàng bắt đầu?
Hãy bắt đầu với module đầu tiên:
Module 1: Nền tảng Java - Tìm hiểu Java là gì và viết chương trình đầu tiên
"First, solve the problem. Then, write the code." — John Johnson