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ề tuần tự hóa đối tượng: để làm gì

    JAVA 25 SELF
    Cấp độ 42,Bài học 0
    Tại sao và như thế nào để “đóng gói” đối tượng trong Java: biến chúng thành luồng byte và ngược lại bằng ObjectOutputStream/ ObjectInputStream, lưu trạng thái giữa các lần chạy, truyền qua mạng và lưu vào bộ nhớ đệm kết quả. Phân tích vai trò của interface Serializable, các điểm tinh tế với từ khóa transient và các chuỗi như "save.dat", thảo luận rủi ro bảo mật và khả năng tương thích phiên bản. Thực hành: bản lưu (save) mini của trò chơi, gửi thông điệp client↔server và bộ nhớ đệm cho phép tính.
    Có sẵn
  • Giao diện Serializable: nguyên tắc cơ bản

    JAVA 25 SELF
    Cấp độ 42,Bài học 1
    Khám phá những điều cơ bản về tuần tự hóa trong Java: giao diện đánh dấu java.io.Serializable, cách đánh dấu lớp bằng implements Serializable, các yêu cầu đối với trường ( static, transient), các ví dụ từng bước về ghi và đọc đối tượng với ObjectOutputStream/ ObjectInputStream, những gì diễn ra “bên dưới nắp máy” khi gọi writeObject/ readObject, cũng như các lỗi thường gặp (các trường không tuần tự hóa được, lớp lồng, hành vi của trường static và phiên bản lớp thông qua serialVersionUID).
    Có sẵn
  • Các định dạng tuần tự hóa tiêu chuẩn: nhị phân, văn bản

    JAVA 25 SELF
    Cấp độ 42,Bài học 2
    Trong bài giảng này, chúng ta so sánh tuần tự hóa nhị phân của Java thông qua các lớp ObjectOutputStream và ObjectInputStream với các định dạng văn bản ( JSON, XML): nguyên lý hoạt động, tốc độ và độ gọn, khả năng tương thích phiên bản và bảo mật. Chúng ta sẽ phân tích ưu điểm và hạn chế, trình bày thực hành với Jackson (bao gồm dependency Maven) và đưa ra lời khuyên về thời điểm chọn định dạng nào, cũng như các lỗi thường gặp.
    Có sẵn
  • ObjectOutputStream, ObjectInputStream: làm việc với luồng

    JAVA 25 SELF
    Cấp độ 42,Bài học 3
    Trong bài giảng này, chúng ta tìm hiểu cách tuần tự hóa (serialize) và giải tuần tự hóa (deserialize) các đối tượng trong Java bằng cặp luồng ObjectOutputStream và ObjectInputStream: interface đánh dấu java.io.Serializable là gì, các phương thức writeObject() và readObject() hoạt động ra sao, vì sao các trường static và transient không được ghi vào luồng, những ngoại lệ thường gặp ( NotSerializableException, InvalidClassException), và serialVersionUID ảnh hưởng đến điều gì. Trong phần thực hành, chúng ta tuần tự hóa một đối tượng và một danh sách đối tượng vào tệp và phân tích các lỗi điển hình.
    Có sẵn
  • Tuần tự hóa collection: List, Map, Set

    JAVA 25 SELF
    Cấp độ 42,Bài học 4
    Hướng dẫn thực hành về tuần tự hóa collection trong Java: cách lưu và khôi phục List, Map, Set qua ObjectOutputStream/ ObjectInputStream; vì sao phần lớn collection đã triển khai Serializable; yêu cầu đối với phần tử; hành vi về thứ tự trong HashSet/ HashMap; làm việc với collection lồng nhau và collection rỗng; các cạm bẫy ( InvalidClassException, serialVersionUID, transient/ static). Kết thúc bằng một ví dụ hoàn chỉnh về “thư viện ảo”.
    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