User Tools

Site Tools


java:object_serialization

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
java:object_serialization [2020/03/09 08:23]
gthanos [Παράδειγμα Deserialization]
java:object_serialization [2020/03/09 21:27]
gthanos
Line 3: Line 3:
 Η Java παρέχει την δυνατότητα μετατροπής ενός αντικειμένου σε μία σειρά από bytes, προκειμένου αυτό στη συνέχεια να αποθηκευτεί σε ένα μέσω μόνιμης αποθήκευσης (π.χ. αρχείο στο filesystem) ή να μεταδοθεί μέσω δικτύου προκειμένου να δημιουργηθεί ένα αντίγραφο του σε απομακρυσμένο σημείο. Η διαδικασία μετατροπής των αντικειμένων σε bytes ονομάζεται **object serialization**. Η Java παρέχει την δυνατότητα μετατροπής ενός αντικειμένου σε μία σειρά από bytes, προκειμένου αυτό στη συνέχεια να αποθηκευτεί σε ένα μέσω μόνιμης αποθήκευσης (π.χ. αρχείο στο filesystem) ή να μεταδοθεί μέσω δικτύου προκειμένου να δημιουργηθεί ένα αντίγραφο του σε απομακρυσμένο σημείο. Η διαδικασία μετατροπής των αντικειμένων σε bytes ονομάζεται **object serialization**.
  
-Αφού ένα αντικείμενο μετατραπεί σε σειρά από bytes μπορούμε να ακολουθήσουμε την αντίστροφη διαδικασία προκειμένου να δημιουργήσουμε ένα αντίγραφο του αντικειμένου. Η διαδικασία "σειριοποίησης" ενός αντικειμένου είναι ανεξάρτητη του JVM που χρησιμοποιούμε πράγμα που σημαίνει ότι ένα αντικείμενο που μεταδίδεται μέσω δικτύου μπορεί να αναπαραχθεί στη μνήμη σε μορφή αντικειμένου σε άλλο JVM/υπολογιστή.+Αφού ένα αντικείμενο μετατραπεί σε σειρά από bytes μπορούμε να ακολουθήσουμε την αντίστροφη διαδικασία προκειμένου να δημιουργήσουμε ένα αντίγραφο του αντικειμένου. Η διαδικασία "σειριοποίησης" ενός αντικειμένου είναι ανεξάρτητη του JVM που χρησιμοποιούμε πράγμα που σημαίνει ότι ένα αντικείμενο που μεταδίδεται μέσω δικτύου μπορεί να αναπαραχθεί στη μνήμη σε μορφή αντικειμένου σε άλλο JVM (πιθανόν σε απομακρυσμένο υπολογιστή).
  
 Οι κλάσεις **[[http://docs.oracle.com/javase/7/docs/api/java/io/ObjectInputStream.html|ObjectInputStream]]** και **[[http://docs.oracle.com/javase/7/docs/api/java/io/ObjectOutputStream.html|ObjectOutputStream]]** αποτελούν κλάσεις τύπου **[[http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html|InputStream]]** και **[[http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html|OutputStream]]** υψηλού επιπέδου οι οποίες επιτελούν την διαδικασία της "σειριοποίησης" και "αποσειριοποίησης" των αντικειμένων. Οι κλάσεις **[[http://docs.oracle.com/javase/7/docs/api/java/io/ObjectInputStream.html|ObjectInputStream]]** και **[[http://docs.oracle.com/javase/7/docs/api/java/io/ObjectOutputStream.html|ObjectOutputStream]]** αποτελούν κλάσεις τύπου **[[http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html|InputStream]]** και **[[http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html|OutputStream]]** υψηλού επιπέδου οι οποίες επιτελούν την διαδικασία της "σειριοποίησης" και "αποσειριοποίησης" των αντικειμένων.
java/object_serialization.txt · Last modified: 2020/05/22 11:36 (external edit)