Projektstudium SS98 - distributed computing
6. Objekt Serialisation
Object Serialization erweitert die Basis I/O-Klassen von Java mit der Unterstützung für die Übertragung von Objekten. Object
Serialization unterstützt die Kodierung von Objekten in einen Bytestream, sowie die Wiederherstellung des Objekts aus dem Stream.
- PROBLEM:
-
- Objekte werden als Referenz an Methoden übergeben. (Call by reference)
- Realisierung als doppelter Pointer auf Speicherbereich der virtuellen Maschine (VM)
- Implementierung der VM nicht vorgeschrieben, deshalb Referenzen auf verschiedenen Maschinen nie gleich
- LÖSUNG:
- Remote Reference Call (Speicherbereich einer entfernten Maschine)
- Kopieren des kompletten Objekts, aber wie?
- Das Objekt wird in Bytestream zerlegt
- Übertragen oder
- Gespeichert
- Auf Gegenseite: Bytestream zurück in Objekt
- Vorsicht: Objekte können andere Objekte enthalten (z.B. Vector, List)
Aus Sicherheitsgründen kann nicht alles serialisiert werden
Serialisierung ist möglich bei:
- Allen Primitiven
- Allen Objekten, welche von Remote erben
- Allen Objekten, welche java.io.Serializable implementieren
- Containerklassen, deren Objekte serialisierbar sind
- Java String und AWT Komponenten
- Serialisierung vererbt sich:
- java.lang.Number
- java.lang.Integer
- java.lang.Float
Serialisierung nicht möglich bei:
- Threads
- Input Streams
- Output Streams
- JDBC Result Klassen
- Fast alle sun.* Klassen
© Copyright 1998 André Möller, Oliver Mentz & Magnus Wiencke