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
  • Kiểm soát quá trình tuần tự hóa: writeObject, readObject

    JAVA 25 SELF
    Cấp độ 43,Bài học 0
    Cách chặn tuần tự hóa mặc định và nắm quyền kiểm soát quy trình: dùng các phương thức private writeObject/ readObject với chữ ký nghiêm ngặt ( private void writeObject( ObjectOutputStream out) throws IOException), gọi defaultWriteObject()/ defaultReadObject(), loại trừ trường bằng transient, thêm kiểm tra tổng và log, đừng quên serialVersionUID và tính tương thích phiên bản. Phân tích các lỗi điển hình, làm việc với ObjectOutputStream/ ObjectInputStream và ví dụ thực tiễn.
    Có sẵn
  • trường transient, serialVersionUID

    JAVA 25 SELF
    Cấp độ 43,Bài học 1
    Hướng dẫn thực hành về tuần tự hóa trong Java: khi nào và cách sử dụng transient để loại trừ các trường khỏi luồng, điều gì xảy ra khi giải tuần tự (giá trị mặc định), cách khôi phục trạng thái trong phương thức readObject; serialVersionUID là gì, cách khai báo nó ( private static final long serialVersionUID = 1L), khi nào thay đổi và vì sao nên đặt tường minh. Có các ví dụ hoạt động, kịch bản rủi ro và lỗi thường gặp.
    Có sẵn
  • Externalizable: tinh chỉnh chi tiết việc tuần tự hóa

    JAVA 25 SELF
    Cấp độ 43,Bài học 2
    Mở rộng tuần tự hóa cơ bản trong Java: khi tự động với Serializable là chưa đủ, hợp đồng thủ công Externalizable với các phương thức writeExternal/ readExternal sẽ giúp ích. Trong bài giảng, chúng ta phân tích cách kiểm soát hoàn toàn định dạng dữ liệu, giảm kích thước tệp và duy trì tương thích ngược, so sánh với các stream ObjectOutputStream/ ObjectInputStream, trình bày ví dụ, ưu/nhược điểm và các lỗi thường gặp (bắt buộc có public constructor không tham số, thứ tự ghi/đọc, v.v.).
    Có sẵn
  • Tùy chỉnh hành vi tuần tự hóa: các phương thức tùy chỉnh

    JAVA 25 SELF
    Cấp độ 43,Bài học 3
    Trong bài giảng này, chúng ta phân tích cách tác động tới quá trình tuần tự hóa và giải tuần tự hóa trong Java bằng các phương thức writeReplace và readResolve: tại sao cần thay thế đối tượng bằng proxy, cách bảo toàn singleton, xử lý đối tượng bất biến, và mối quan hệ với writeObject/ readObject. Thực hành từng bước, sơ đồ luồng thao tác bằng Mermaid và phân tích các lỗi điển hình.
    Có sẵn
  • Bảo mật tuần tự hóa: thực tiễn tốt nhất

    JAVA 25 SELF
    Cấp độ 43,Bài học 4
    Hướng dẫn thực hành về tuần tự hóa an toàn trong Java: tại sao việc giải tuần tự hóa từ nguồn không đáng tin lại nguy hiểm, cách phòng vệ bằng ObjectInputFilter, từ khóa transient, serialVersionUID được khai báo tường minh, kiểm tra kiểu bằng instanceof và các định dạng trao đổi thay thế (JSON/Proto). Bên trong — ví dụ mã minh họa, lọc danh sách lớp được phép và phân tích các 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