CodeGym
AI Academy
Khuyến mãi
CodeGym University
Học tập
Khóa học
Bài tập
Khảo sát & Bài kiểm tra
Trò chơi
Trợ giúp
Lịch
Cộng đồng
Người dùng
Diễn đàn
Trò chuyện
Bài viết
Câu chuyện thành công
Hoạt động
Đánh giá
Gói đăng ký
Chủ đề sáng

Bài học

  • Đánh giá
  • Về chúng tôi
Bắt đầu
Bắt đầu học
Bắt đầu học ngay
  • Tiến độ của tôi
  • Khóa học
  • Bản đồ Quest
  • Bài học
  • Giới thiệu về reflection: lớp Class, dùng để làm gì

    JAVA 25 SELF
    Cấp độ 62,Bài học 0
    Chúng ta sẽ tìm hiểu reflection trong Java là gì và vì sao các framework và công cụ cần đến nó; cách đối tượng Class — trái tim của reflection — hoạt động, và các cách để lấy nó: qua .class, getClass() và Class.forName(). Sẽ bàn khi nào nên dùng reflection và khi nào nên tránh, xem ví dụ lấy metadata (tên, package, superclass, interfaces), phân tích mini‑tiện ích “Đây là lớp gì?” và các lỗi thường gặp ( ClassNotFoundException, hiệu năng, bảo mật).
    Có sẵn
  • Lấy thông tin về lớp, trường, phương thức

    JAVA 25 SELF
    Cấp độ 62,Bài học 1
    Trong bài giảng này, chúng ta tìm hiểu về reflection trong Java: cách dùng Class-API để lấy thông tin về trường ( getFields()/ getDeclaredFields()), phương thức ( getMethods()/ getDeclaredMethods()), constructor ( getConstructors()/ getDeclaredConstructors()) và annotation ( getAnnotations()). Ta sẽ đọc các modifier qua Modifier ( public, private, protected, static, final), phân biệt giữa “public” và “declared”, ghép một tiện ích nhỏ để kiểm tra lớp (class inspector) và xem sơ đồ trực quan.
    Có sẵn
  • Bảo mật, hạn chế và các thay thế cho reflection

    JAVA 25 SELF
    Cấp độ 62,Bài học 2
    Trong bài giảng này, chúng ta phân tích các rủi ro và hạn chế của reflection: vượt qua tính đóng gói qua setAccessible( true), thử thay đổi các trường final và vì sao điều đó nguy hiểm do các tối ưu hóa của JVM; số phận của SecurityManager và cách hệ thống mô-đun (Java 9+) dẫn đến InaccessibleObjectException. Cũng bàn về mất hiệu năng và an toàn kiểu, các giải pháp thay thế hiện đại ( record, sealed, pattern matching, APT, DI) và best practices. Cuối cùng — ví dụ thực hành với tham số JVM --add-opens.
    Có sẵn
  • Tạo đối tượng bằng reflection

    JAVA 25 SELF
    Cấp độ 62,Bài học 3
    Cách tạo đối tượng và thao tác với lớp “ngay tại thời điểm chạy”: vì sao Class.newInstance() đã lỗi thời, cách dùng đúng getConstructor/ getDeclaredConstructor và Constructor.newInstance, gọi phương thức qua Method.invoke và đọc/sửa trường qua Field. Cùng phân tích các ngoại lệ điển hình ( ReflectiveOperationException và các loại khác), hạn chế của hệ thống module, thực hành hữu ích và một tiện ích nhỏ cho việc khởi tạo động. Thêm nữa — sơ đồ trực quan của toàn bộ quy trình.
    Có sẵn
  • Reflection và Dependency Injection

    JAVA 25 SELF
    Cấp độ 62,Bài học 4
    Trong bài giảng này, chúng ta phân tích thực hành reflection trong Java: cách dùng Class, Field và Method để đọc các trường private ( setAccessible( true)) và ráp một bộ tuần tự hóa đơn giản; cách các DI container tiêm phụ thuộc theo annotation ( @Inject, @Autowired) qua constructor và field; cách proxy động dựa trên Proxy và InvocationHandler chặn lời gọi; nó được dùng ở đâu trong thực tế ( Spring, JUnit, Jackson) và những hạn chế cùng lỗi thường gặp.
    Có sẵn
Học
  • Đăng ký
  • Khóa học Java
  • Trợ giúp bài tập
  • Bảng giá
  • Cú pháp Java
Cộng đồng
  • Người dùng
  • Bài viết
  • Diễn đàn
  • Trò chuyện
  • Câu chuyện thành công
  • Hoạt động
  • Chương trình giới thiệu
Công ty
  • Về chúng tôi
  • Liên hệ
  • Đánh giá
  • Phòng báo chí
  • CodeGym cho EDU
  • Câu hỏi thường gặp
  • Hỗ trợ
CodeGymCodeGym là một khóa học trực tuyến để học lập trình Java từ đầu. Khóa học này là cách hoàn hảo để nắm vững Java cho người mới bắt đầu. Nó chứa 1200+ bài tập với kiểm tra ngay lập tức và phạm vi lý thuyết cơ bản cần thiết về Java. Để giúp bạn thành công trong học tập, chúng tôi đã triển khai một bộ tính năng tạo động lực: bài kiểm tra, dự án lập trình, nội dung về phương pháp học hiệu quả, và hỗ trợ sự nghiệp lập trình viên Java.
Theo dõi chúng tôi
Ngôn ngữ giao diện
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский
Vietnamese
"Lập trình viên được tạo nên, không sinh ra" © 2026 CodeGym
MastercardVisa
"Lập trình viên được tạo nên, không sinh ra" © 2026 CodeGym