Chuyển tới nội dung chính

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

ModuleNội dungSố bàiĐộ khó
1. Nền tảng JavaJVM/JDK, cú pháp, kiểu dữ liệu, luồng điều khiển, packages6
2. OOP Cơ bảnClass, Object, Constructor, Encapsulation5⭐⭐
3. OOP Nâng caoInheritance, Polymorphism, Interface, Annotations6⭐⭐⭐
4. Strings & ArraysString pool, StringBuilder, Wrapper Classes, mảng đa chiều5⭐⭐
5. Exception Handlingtry-catch, custom exceptions, best practices4⭐⭐

Giai đoạn 2: Trung cấp

ModuleNội dungSố bàiĐộ khó
6. GenericsType safety, bounded types, wildcards, PECS5⭐⭐⭐
7. Collections FrameworkList, Set, Map, Queue, Comparator7⭐⭐⭐
8. I/O & NIOFile I/O, Streams, NIO Channels, Serialization6⭐⭐⭐
9. MultithreadingThread, Synchronization, ExecutorService7⭐⭐⭐⭐
10. Functional ProgrammingLambda, Stream API, Optional7⭐⭐⭐

Giai đoạn 3: Nâng cao

ModuleNội dungSố bàiĐộ khó
11. Modern Java (17/21)Records, Sealed Classes, Virtual Threads7⭐⭐⭐
12. Java SecurityJCA, Cryptography, SSL/TLS, Secure Coding, OWASP6⭐⭐⭐
13. JVM Internals & MemoryJVM Architecture, GC, Collection Internals, Performance8⭐⭐⭐⭐
14. Design PatternsCreational, Structural, Behavioral, SOLID5⭐⭐⭐⭐

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:

ModuleMini Project
1. FundamentalsCalculator đơn giản
2-3. OOPHệ thống quản lý ngân hàng
4. Strings/ArraysWord counter, Text analyzer
5. ExceptionsFile validator
6. GenericsGeneric data container
7. CollectionsContact manager
8. I/OGeneric file processor
9. ConcurrencyMulti-threaded file downloader
10. FPStream-based data processor
11. Modern JavaRefactoring code cũ sang Java 21
12. Java SecuritySecure user registration & API signing
13. JVM InternalsMemory 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