CodeGym
Aktion
Lernen
Kurse
Aufgaben
Umfragen & Quizze
Spiele
Hilfe
Zeitplan
Community
Nutzer
Forum
Chat
Artikel
Erfolgsgeschichten
Aktivität
Bewertungen
Abonnements
Helles Design

Lektionen

  • Bewertungen
  • Über uns
Start
Jetzt lernen
Jetzt lernen
  • Mein Fortschritt
  • Kurse
  • Quest-Karte
  • Lektionen
  • Externalizable: Feinabstimmung der Serialisierung

    JAVA 25 SELF
    Level 43,Lektion 2
    Wir erweitern die grundlegende Serialisierung in Java: Wenn die Automatik von Serializable nicht ausreicht, hilft der manuelle Vertrag Externalizable mit den Methoden writeExternal/ readExternal. In der Vorlesung besprechen wir, wie man das Datenformat vollständig kontrolliert, die Dateigröße reduziert und Abwärtskompatibilität erhält, vergleichen mit den Streams ObjectOutputStream/ ObjectInputStream, zeigen Beispiele, Vor- und Nachteile sowie typische Fehler (obligatorischer public-Konstruktor ohne Parameter, Reihenfolge von Schreiben/Lesen usw.).
    Verfügbar
  • Serialisierungsverhalten anpassen: benutzerdefinierte Methoden

    JAVA 25 SELF
    Level 43,Lektion 3
    In dieser Vorlesung erklären wir, wie man den Serialisierungs- und Deserialisierungsprozess in Java mit den Methoden writeReplace und readResolve beeinflusst: warum man ein Objekt durch einen Proxy ersetzt, wie man einen Singleton bewahrt, was mit unveränderlichen Objekten zu tun ist und wie das mit writeObject/ readObject zusammenhängt. Schrittweise Praxis, ein Mermaid-Diagramm des Ablaufs der Operationen und die Analyse typischer Fehler.
    Verfügbar
  • Sichere Serialisierung: Best Practices

    JAVA 25 SELF
    Level 43,Lektion 4
    Praktischer Leitfaden zur sicheren Serialisierung in Java: warum Deserialisierung aus nicht vertrauenswürdigen Quellen gefährlich ist, wie Sie sich mit ObjectInputFilter, dem Schlüsselwort transient, einem expliziten serialVersionUID, Typprüfungen per instanceof und alternativen Austauschformaten (JSON/Proto) schützen. Darin – anschauliche Codebeispiele, Filterung zulässiger Klassen und die Analyse typischer Fehler.
    Verfügbar
  • Serialisierung verschachtelter Objekte: Besonderheiten

    JAVA 25 SELF
    Level 44,Lektion 0
    In dieser Vorlesung erklären wir, wie Java eine tiefe Serialisierung eines Objektgraphen durchführt: was mit Referenzfeldern geschieht, warum alle verschachtelten Objekte ebenfalls das Interface Serializable implementieren müssen, wie sich eine NotSerializableException vermeiden lässt und in welchen Fällen der Modifikator transient hilft. Anhand von Beispielen zeigen wir die Serialisierung/Deserialisierung von Objekten mit Verschachtelung, Collections und zyklischen Referenzen und analysieren typische Fehler im Zusammenhang mit serialVersionUID und großen Objektgraphen.
    Verfügbar
  • Verschachtelte und hierarchische Objekte: Serialisierung von Graphen

    JAVA 25 SELF
    Level 44,Lektion 1
    Wie Java komplexe Datenstrukturen serialisiert: von verschachtelten Collections und Vererbungshierarchien bis hin zu zyklischen Objektgraphen. Wir klären, warum die Serialisierung Map<String, List<Book>> funktioniert, wie die tatsächlichen Typen der Unterklassen in List<Animal> erhalten bleiben, was der Referenzmechanismus bei Zyklen tut und welche Fallstricke auftreten können. Wir sprechen über die Rolle von ObjectOutputStream/ ObjectInputStream, die Methoden writeObject/ readObject, das Feld serialVersionUID und den Modifikator transient.
    Verfügbar
  • Problem zyklischer Referenzen: Erkennung und Umgehung

    JAVA 25 SELF
    Level 44,Lektion 2
    Wir klären, was zyklische Referenzen in Objektgraphen sind, warum sie für die Serialisierung problematisch sind und wie man damit umgeht. Es wird gezeigt, wie die Standard-Streams von Java – ObjectOutputStream/ ObjectInputStream – bereits gesehene Objekte automatisch nachverfolgen und Verweise (Handles) schreiben, wodurch StackOverflowError verhindert wird. Wir besprechen Fallstricke benutzerdefinierter Serialisierung ( writeObject/ readObject, defaultWriteObject/ defaultReadObject) sowie Strategien zur Umgehung von Zyklen bei JSON: Annotationen @JsonIdentityInfo, @JsonBackReference/ @JsonManagedReference, das Ausschließen von Feldern via transient und die Verwendung von Identifikatoren.
    Verfügbar
  • Objektidentität bei der binären Serialisierung

    JAVA 25 SELF
    Level 44,Lektion 3
    Wie Java die Identität von Objekten bei der binären Serialisierung speichert und wiederherstellt: warum Gleichwertigkeit über a. equals( b) nicht Identität ist ( a == b), wie ObjectOutputStream/ ObjectInputStream den Objektgraph verfolgen und „wiederholte Verweise“ statt Duplikaten schreiben, warum das bei Zyklen korrekt funktioniert und wie die Methoden writeReplace() und readResolve() die endgültige Identität beeinflussen können. Analyse mit Beispielen: Zyklen, geteilte Referenzen, Praxis und typische Fehler.
    Verfügbar
  • Analyse typischer Fehler bei der Serialisierung von Collections

    JAVA 25 SELF
    Level 44,Lektion 4
    In dieser Vorlesung betrachten wir die häufigsten Probleme bei der Serialisierung von Collections: von java.io.NotSerializableException (wenn Elemente Serializable nicht implementieren) und Generics-Fallen mit ClassCastException bis hin zu Versionsinkompatibilitäten über serialVersionUID. Wir sprechen über Besonderheiten unveränderlicher Collections ( List.of(), Set.of(), Map.of()), das Verhalten von transient/ static-Feldern sowie über Performance und Dateigröße, wo Streaming-Schreiben und Kompression ( GZIPOutputStream) helfen. Sie erhalten praxisnahe Tipps, Codebeispiele und Empfehlungen zur sicheren Deserialisierung ( readObject/ writeObject).
    Verfügbar
  • Probleme der binären Serialisierung: Sicherheit, Kompatibilität

    JAVA 25 SELF
    Level 45,Lektion 0
    In dieser Vorlesung beleuchten wir die Risiken der binären Serialisierung in Java: warum das Deserialisieren aus nicht vertrauenswürdigen Quellen gefährlich ist („Gadget-Chain“, RCE), welche Gefahren spezielle Methoden wie readObject und readResolve bergen, und wie man sich schützt (Whitelisting, Verzicht zugunsten von JSON/ XML, sichere Bibliotheken wie Jackson). Wir betrachten ausführlich die Kompatibilität von Klassenversionen und die Rolle des Felds serialVersionUID, das Verhalten bei InvalidClassException, die Einschränkungen von transient/ static, die Performance sowie Best Practices und typische Fehler.
    Verfügbar
  • Serialisierung generischer Collections: Besonderheiten

    JAVA 25 SELF
    Level 45,Lektion 1
    Wir erklären, wie das Streichung der Typinformationen ( type erasure) die Serialisierung generischer Collections beeinflusst: warum zur Laufzeit List<String> und List<Integer> – ein und derselbe ArrayList – sind, was genau über ObjectOutputStream/ ObjectInputStream geschrieben und gelesen wird, woher ClassCastException und Warnungen zu unchecked-Casts kommen. Wir zeigen Beispiele mit verschachtelten Collections, Map/ Set, erwähnen Gson/ Jackson und formulieren Praktiken für eine sichere Deserialisierung.
    Verfügbar
  • Kompatibilität und Rückwärtskompatibilität (backward compatibility) bei der Serialisierung

    JAVA 25 SELF
    Level 45,Lektion 2
    Wir erklären, wie man serialisierbare Klassen weiterentwickelt, ohne Daten zu zerstören: warum man die serialVersionUID festlegen sollte, wie die JVM die Kompatibilität prüft, welche Änderungen unkritisch sind (Hinzufügen/Entfernen von Feldern) und welche kritisch sind (Typänderung, Verschieben der Klasse in ein anderes Paket). Wir zeigen die Rolle von transient/ static, Techniken für benutzerdefinierte Serialisierung über writeObject/ readObject, den Unterschied zwischen Binärserialisierung und XML/JSON, Strategien zur Sicherstellung der Kompatibilität sowie typische Fehler (z. B. InvalidClassException).
    Verfügbar
  • Migration und Versionierung serialisierter Daten

    JAVA 25 SELF
    Level 45,Lektion 3
    Wie sich serialisierbare Klassen im Produktionsbetrieb sicher weiterentwickeln lassen: Was passiert bei Änderungen an Feldern und Typen, wie die Klassenversion über serialVersionUID funktioniert, wann man sie ändern sollte und wann nicht, wie man eine „Lazy“-Migration über readObject/ readFields und eine „in-place“-Konvertierung anwendet und welche fortgeschrittenen Techniken es gibt, etwa ObjectInputStream.readClassDescriptor(). Wir behandeln ein vollständiges Praxisszenario mit zwei Klassenversionen und typischen Fehlern, einschließlich der Fallstricke von InvalidClassException.
    Verfügbar
  • 1
  • ...
  • 19
  • 20
  • 21
  • 22
  • 23
  • ...
  • 30
Lernen
  • Registrierung
  • Java-Kurs
  • Hilfe bei Aufgaben
  • Preise
  • Java-Syntax
Community
  • Nutzer
  • Artikel
  • Forum
  • Chat
  • Erfolgsgeschichten
  • Aktivität
  • Partnerprogramm
Unternehmen
  • Über uns
  • Kontakte
  • Bewertungen
  • Presse
  • CodeGym for EDU
  • FAQ
  • Support
CodeGymCodeGym ist ein Online-Kurs zum Erlernen der Java-Programmierung von Grund auf. Dieser Kurs ist eine perfekte Möglichkeit, Java als Anfänger zu meistern. Er enthält über 1200 Aufgaben mit sofortiger Überprüfung und einen wesentlichen Umfang an Java-Grundlagentheorie. Um Ihren Lernerfolg zu unterstützen, haben wir eine Reihe motivierender Funktionen implementiert: Quizze, Programmierprojekte, Inhalte zum effizienten Lernen und Karriereinformationen für Java-Entwickler.
Folgen Sie uns
Interface-Sprache
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
"Programmierer werden gemacht, nicht geboren" © 2026 CodeGym
MastercardVisa
"Programmierer werden gemacht, nicht geboren" © 2026 CodeGym