Java — Từ Zero đến Senior

Khoá Java toàn diện: hiểu bản chất memory, JVM, bytecode, concurrency, security. Học theo triết lý WHY + cơ chế + hệ quả. Áp dụng được tư tưởng OOP sang mọi ngôn ngữ.

2 module · 15 bài họcMiễn phí
1

Nhập môn & Tư duy lập trình

Hiểu Java là gì, JVM/JRE/JDK, cài đặt môi trường, viết chương trình đầu tiên. Xây tư duy lập trình cơ bản trước khi đi vào syntax.

01

Java là gì? — Write Once, Run Anywhere

Hiểu Java là gì, tại sao Java ra đời, cơ chế bytecode + JVM giúp Java chạy mọi nơi, và khi nào nên chọn Java cho dự án của bạn.

~17p
02

JVM, JRE, JDK — ba khái niệm nền tảng

Phân biệt JVM, JRE, JDK một lần cho rõ: cái gì chạy code, cái gì đủ để deploy, cái gì cần để viết code. Hiểu kiến trúc bên trong JVM.

~16p
03

Cài đặt môi trường — JDK 21 và IntelliJ IDEA

Hướng dẫn cài JDK 21 trên macOS, Ubuntu và Windows, cài IntelliJ IDEA Community, quản lý nhiều version JDK bằng SDKMAN, và so sánh các IDE phổ biến.

~15p
04

Hello World — cấu trúc một class Java

Viết và hiểu chương trình Java đầu tiên từng dòng: class, main method, System.out.println, package, command-line args và lỗi thường gặp khi chạy.

~15p
05

Tư duy lập trình — input, xử lý, output

Nắm vững mô hình input-processing-output, phân rã bài toán thành các bước nhỏ, và 3 construct cơ bản của lập trình: sequence, selection, iteration.

~14p
06

Compile & Run — javac, bytecode, và vòng đời một chương trình Java

Hiểu hai lệnh javac và java, cơ chế bytecode stack-based, đọc bytecode bằng javap, single-file execution từ Java 11, và classpath cơ bản.

~16p
07

Mini-challenge: In lịch tháng hiện tại

Viết chương trình Java in lịch tháng giống lệnh cal trên Unix — luyện tư duy I-P-O, java.time API, printf formatting, và xử lý edge case.

~18p
2

Cú pháp Java & Kiểu dữ liệu

Biến, primitives, reference, var, ép kiểu, String, hằng số — hiểu theo hướng memory layout và tư duy dưới tầng JVM.

01

Biến và khai báo — cái tên gắn với một giá trị

Hiểu biến trong Java từ cái đơn giản nhất (ngăn kéo có tên) đến phân biệt primitive vs reference, cơ chế copy, pass-by-value và var.

~16p
02

Kiểu nguyên thuỷ — 8 loại, size, range, overflow và floating-point trap

Đi sâu vào 8 kiểu primitive của Java: bit width, min/max range, default value, overflow wrap-around và vì sao 0.1 + 0.2 không bằng 0.3 trong Java (và mọi ngôn ngữ dùng IEEE 754).

~17p
03

Kiểu tham chiếu — null, NPE, wrapper class và autoboxing

Hiểu sâu về reference types trong Java: null là gì, NullPointerException xảy ra thế nào, wrapper class và autoboxing hoạt động ra sao, Integer Cache gây surprise gì, và khi nào dùng .equals() thay vì ==.

~18p
04

Toán tử — số học, logic, so sánh, bitwise và assignment

Nắm vững toàn bộ hệ thống toán tử Java: arithmetic, comparison, logical (với short-circuit), bitwise/shift, assignment compound, ternary, operator precedence và những pitfall kinh điển như integer division hay == với String/Integer.

~17p
05

Ép kiểu — widening, narrowing, autoboxing và safe cast patterns

Hiểu toàn bộ cơ chế type casting trong Java: widening tự động không mất data, narrowing cần cast tường minh có thể tràn, autoboxing/unboxing, upcasting/downcasting reference, ClassCastException, và pattern matching instanceof từ Java 16.

~16p
06

String, Text Block và StringBuilder — xử lý text hiện đại trong Java

Nắm vững 3 công cụ text của Java: String immutable, Text Block multi-line (Java 15+), và StringBuilder mutable. Hiểu khi nào concat trong loop gây O(n²) và cách dùng StringBuilder đúng chỗ.

~16p
07

Hằng số, final và enum — giá trị khắc trên đá

Nắm vững 3 cơ chế 'không đổi được' trong Java: final biến/method/class, static final hằng số cấp class, và enum type-safe cho tập giá trị cố định. Phân biệt final reference với immutable object.

~16p
08

Mini-challenge: Máy tính BMI

Viết chương trình Java tính chỉ số BMI và phân loại theo WHO — luyện Scanner nhập liệu, String.format xuất 2 chữ số thập phân, và enum có field với static factory method.

~18p