CodeGym
AI Academy
促銷
CodeGym University
學習
課程
任務
問卷 & 測驗
遊戲
說明
行程
社群
用戶
論壇
聊天
文章
成功故事
動態
評價
訂閱
淺色主題

課程

  • 評論
  • 關於我們
開始
開始學習
立即開始學習
  • My Progress
  • Courses
  • 任務地圖
  • 課程
  • 物件序列化入門:為什麼需要

    JAVA 25 SELF
    等級 42,課程 0
    為什麼以及如何在 Java 中「打包」物件:使用 ObjectOutputStream/ ObjectInputStream 將其轉換為位元組串流並還原,讓狀態能在多次啟動之間保存、透過網路傳送以及快取結果。我們解析介面 Serializable 的角色、關鍵字 transient 的細節,以及像 "save.dat" 這樣的字串;同時討論安全風險與版本相容性。實作練習:迷你遊戲存檔、客戶端↔伺服器的訊息傳送以及計算結果快取。
    可用
  • Serializable 介面:基本原則

    JAVA 25 SELF
    等級 42,課程 1
    解析 Java 中的序列化基礎:標記介面 java.io.Serializable、如何透過 implements Serializable 標註類別、對欄位的要求( static、 transient)、使用 ObjectOutputStream/ ObjectInputStream 逐步示範寫入與讀取物件、呼叫 writeObject/ readObject 時「底層」發生了什麼,以及常見錯誤(不可序列化的欄位、內部類別、 static 欄位的行為,以及透過 serialVersionUID 管理的類別版本)。
    可用
  • 標準序列化格式:二進位與文字

    JAVA 25 SELF
    等級 42,課程 2
    在本講座中,我們將比較 Java 的二進位序列化(透過類別 ObjectOutputStream 與 ObjectInputStream)與文字格式( JSON、 XML):工作原理、速度與緊湊度、版本相容性與安全性。我們會解析優缺點,示範使用 Jackson(包含 Maven 依賴),並提供何時該用哪一種的建議,以及常見錯誤。
    可用
  • ObjectOutputStream、ObjectInputStream:操作串流

    JAVA 25 SELF
    等級 42,課程 3
    本講座說明如何使用成對的串流 ObjectOutputStream 與 ObjectInputStream 在 Java 中序列化與反序列化物件:什麼是標記介面 java.io.Serializable,方法 writeObject() 與 readObject() 如何運作,為什麼欄位 static 與 transient 不會進入串流,可能遇到哪些例外( NotSerializableException、 InvalidClassException),以及 serialVersionUID 的影響。實作部分會將單一物件與物件清單序列化到檔案,並解析常見錯誤。
    可用
  • 集合的序列化:List、Map、Set

    JAVA 25 SELF
    等級 42,課程 4
    關於在 Java 中序列化集合的實用指南:如何透過 ObjectOutputStream/ ObjectInputStream 儲存與還原 List、 Map、 Set;為什麼大多數集合已經實作了 Serializable;對元素的要求; HashSet/ HashMap 的順序行為;處理巢狀與空集合;潛在陷阱( InvalidClassException、 serialVersionUID、 transient/ static)。最後以一個「虛擬圖書館」的完整範例收尾。
    可用
學習
  • 註冊
  • Java 課程
  • 題目協助
  • 價格
  • Java 語法
社群
  • 用戶
  • 文章
  • 論壇
  • 聊天
  • 成功故事
  • 動態
  • 聯盟計畫
公司
  • 關於我們
  • 聯絡方式
  • 評價
  • 新聞中心
  • CodeGym for EDU
  • 常見問題
  • 支援
CodeGymCodeGym 是一門從零開始學習 Java 程式設計的線上課程。這門課程是初學者精通 Java 的完美方式。它包含超過 1200 題、具即時檢驗功能,以及涵蓋 Java 基礎理論的必要範圍。為了幫助你在學習上成功,我們實作了一系列激勵功能:測驗、程式專案、關於有效學習的內容,以及 Java 開發者職涯相關內容。
追蹤我們
介面語言
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
"程式設計師是培養出來的,不是天生的" © 2026 CodeGym
MastercardVisa
"程式設計師是培養出來的,不是天生的" © 2026 CodeGym