CodeGym
AI Academy
Aktion
CodeGym University
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
  • 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
  • Komprimierung und Profiling der Serialisierung

    JAVA 25 SELF
    Level 45,Lektion 4
    Wie man Größe reduziert und die Serialisierung von Objekten in Java beschleunigt: überflüssige Felder mit transient ausschließen, volle Kontrolle über Externalizable übernehmen, Stream‑Komprimierung einsetzen ( GZIPOutputStream, ZipOutputStream), I/O durch Pufferung beschleunigen ( BufferedOutputStream, BufferedInputStream) und schnelles Kopieren über FileChannel. transferTo. Zur Leistungsbewertung verwenden wir sowohl schnelle Messungen mit System. nanoTime() als auch robuste Microbenchmarks mit JMH. Wir schließen mit einem Mini‑Experiment und der Analyse typischer Fehler.
    Verfügbar
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