Đề cương khóa học

Giới thiệu về Java

  • Lịch sử và quá trình phát triển của Java
  • Tổng quan về các phiên bản và bản cập nhật của Java
  • Những điểm mới trong Java 17
  • Thiết lập Bộ phát triển Java (JDK 17) và IDE

Cấu trúc chương trình Java

  • Viết một chương trình Java đơn giản
  • Tổng quan về cú pháp Java
  • Biên dịch và chạy các ứng dụng Java

Kiểu dữ liệu và biến

  • Kiểu dữ liệu nguyên thủy và các lớp bao bọc
  • Khai báo biến và hằng số
  • Chuyển đổi kiểu dữ liệu và ép kiểu

Các toán tử trong Java

  • Các toán tử số học, quan hệ, logic và bitwise
  • Ưu tiên và tính kết hợp của toán tử

Các câu lệnh điều khiển luồng

  • Các câu lệnh điều kiện (if-else, switch)
  • Các cấu trúc vòng lặp (for, while, do-while)
  • Các biểu thức switch nâng cao (Java 17)

Giới thiệu về các khái niệm OOP

  • Lớp và đối tượng
  • Đóng gói, kế thừa, đa hình và trừu tượng

Tạo lớp và đối tượng

  • Khai báo và khởi tạo đối tượng
  • Từ khóa this
  • Bộ khởi tạo (mặc định và có tham số)

Kế thừa

  • Mở rộng lớp (từ khóa extends)
  • Ghi đè phương thức và từ khóa super
  • Lớp và phương thức trừu tượng

Đa hình

  • Đa hình tại thời điểm biên dịch so với thời điểm chạy
  • Ghi đè và quá tải phương thức

Giao diện

  • Định nghĩa và triển khai giao diện
  • Giao diện chức năng và phương thức mặc định

Lớp bản ghi (Java 17)

  • Hiểu về bản ghi trong Java 17
  • Cách bản ghi đơn giản hóa việc đóng gói dữ liệu

Generics trong Java

  • Hiểu về tham số kiểu
  • Lớp, phương thức và giao diện generics
  • Kiểu giới hạn và ký tự đại diện

Xử lý ngoại lệ

  • Các loại ngoại lệ (đã kiểm tra và chưa kiểm tra)
  • Khối try-catch-finally
  • Ném và bắt ngoại lệ
  • Tạo ngoại lệ tùy chỉnh

Khung Collections Java

  • Giao diện List, Set, Map và Queue
  • Các triển khai phổ biến: ArrayList, HashMap, HashSet
  • Bộ lặp và vòng lặp for nâng cao

Biểu thức Lambda và Hàm chức năng

  • Giới thiệu về biểu thức lambda
  • Cú pháp và cách sử dụng
  • Giao diện chức năng

Stream API

  • Tổng quan về Streams Java
  • Các thao tác trên Stream (lọc, ánh xạ, giảm)
  • Streams song song và cân nhắc về hiệu suất

Lớp Sealed

  • Định nghĩa và sử dụng lớp sealed
  • Lớp con được phép và hạn chế

Pattern Matching cho instanceof (Java 17)

  • Đơn giản hóa kiểm tra kiểu bằng cách sử dụng pattern matching

Text Blocks

  • Làm việc với các khối văn bản nhiều dòng trong Java
  • So sánh với xử lý chuỗi truyền thống

Bản ghi và cải tiến Serialization

  • Serialization và khả năng tương thích ngược
  • Cách bản ghi nâng cao khả năng đọc và bảo trì mã

Tính năng bị loại bỏ và loại bỏ

  • API bị loại bỏ trong Java 17
  • Loại bỏ các tính năng lỗi thời

Cải tiến Switch Statement

  • Pattern matching trong switch
  • Sử dụng biểu thức switch để có mã sạch hơn

Foreign Function & Memory API (Incubator)

  • Tổng quan về mô-đun incubator
  • Làm việc với mã native trong Java

Hệ thống Module Java (Project Jigsaw)

  • Giới thiệu về module trong Java
  • Tạo và sử dụng module
  • Mô tả module và module-info.java
  • Ưu điểm của việc modular hóa

Concurrency và Multithreading

  • Giới thiệu về luồng và multithreading
  • Giao diện Runnable và Callable
  • Đồng bộ hóa, khóa và an toàn luồng

Asynchronous Programming với CompletableFuture

  • Viết mã không đồng bộ
  • Sử dụng CompletableFuture cho các thao tác không chặn

Triển khai Ứng dụng Java

  • Tạo và thực thi các tệp JAR
  • Đóng gói và phân phối ứng dụng Java
  • Giới thiệu về GraalVM (tùy chọn)

Thực hành tốt nhất và Tối ưu hóa mã

  • Viết mã Java hiệu quả và dễ bảo trì
  • Các cạm bẫy hiệu suất phổ biến và cách tránh chúng
  • Kỹ thuật tái cấu trúc mã

Tóm tắt và Các bước tiếp theo

Requirements

  • Kiến thức cơ bản về lập trình

Đối tượng

  • Nhà phát triển phần mềm
  • Lập trình viên
 35 Hours

Number of participants


Price per participant

Testimonials (5)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories