CodeGym
学習
コース
課題
アンケート & クイズ
ゲーム
ヘルプ
スケジュール
コミュニティ
ユーザー
フォーラム
チャット
記事
成功事例
アクティビティ
レビュー
サブスクリプション
ライトテーマ

レッスン

  • レビュー
  • 私たちについて
開始
学習開始
今すぐ学習を始める
  • 学習の進捗
  • コース
  • クエストマップ
  • レッスン
  • ネストされたオブジェクトのシリアライズ:特徴

    JAVA 25 SELF
    レベル 44,レッスン 0
    この講義では、Java がオブジェクトグラフをディープシリアライズする方法を解説します。参照フィールドがどう扱われるのか、なぜすべてのネストされたオブジェクトが Serializable を実装すべきなのか、 NotSerializableException を回避するにはどうするか、どのような場合に修飾子 transient が役立つのか。ネスト、コレクション、循環参照を持つオブジェクトのシリアライズ/デシリアライズを例で示し、 serialVersionUID や巨大なオブジェクトグラフに関連する典型的な誤りも取り上げます。
    利用可能
  • 入れ子および階層オブジェクト: グラフのシリアライズ

    JAVA 25 SELF
    レベル 44,レッスン 1
    Java が複雑なデータ構造をどのようにシリアライズするか: 入れ子のコレクションや継承階層から、循環を含むオブジェクトグラフまで。なぜシリアライズが Map<String, List<Book>> で機能するのか、 List<Animal> で子クラスの実型がどのように保持されるのか、循環時に参照メカニズムが何をするのか、そしてどんな落とし穴があるのかを解説します。さらに、 ObjectOutputStream/ ObjectInputStream の役割、 writeObject/ readObject メソッド、 serialVersionUID フィールド、および修飾子 transient についても扱います。
    利用可能
  • 循環参照の問題: 検出と回避

    JAVA 25 SELF
    レベル 44,レッスン 2
    オブジェクトグラフにおける循環参照とは何か、シリアライズにとってなぜ危険か、そしてどう対処するかを解説します。Java の標準ストリーム — ObjectOutputStream/ ObjectInputStream — が既に出現したオブジェクトを自動で追跡し、参照(handle)を書き出して StackOverflowError を防ぐ仕組みを示します。カスタムシリアライズ( writeObject/ readObject, defaultWriteObject/ defaultReadObject)の落とし穴や、JSON における循環回避の戦略: アノテーション @JsonIdentityInfo、 @JsonBackReference/ @JsonManagedReference、 transient によるフィールド除外、ID の利用も扱います.
    利用可能
  • バイナリシリアライズにおけるオブジェクトの同一性

    JAVA 25 SELF
    レベル 44,レッスン 3
    Java がバイナリシリアライズでオブジェクトの同一性をどのように保持・復元するか: なぜ a. equals( b) による同値性は同一性( a == b)と同じではないのか、どのように ObjectOutputStream/ ObjectInputStream がオブジェクトグラフを追跡して重複の代わりに「再参照」を書き出すのか、循環があっても正しく動作する理由、そして writeReplace() と readResolve() が最終的な同一性にどう影響し得るのか。例を用いた解説: 循環、共有参照、実践、典型的なミス。
    利用可能
  • コレクションのシリアライズに関する典型的なエラーの分析

    JAVA 25 SELF
    レベル 44,レッスン 4
    この講義では、コレクションのシリアライズで最も頻出かつ厄介な問題を解説します。たとえば、要素が Serializable を実装していない場合に発生する java.io.NotSerializableException、ジェネリクスに起因する ClassCastException、そして serialVersionUID によるクラスのバージョン非互換まで。さらに、不変コレクション( List.of()、 Set.of()、 Map.of())の注意点、 transient/ static フィールドの挙動、パフォーマンスやファイルサイズの問題への対処(ストリーミング書き込みや圧縮、 GZIPOutputStream)についても扱います。安全なデシリアライズ( readObject/ writeObject)のための実践的なヒント、コード例、推奨事項も提供します。
    利用可能
学ぶ
  • 登録
  • 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