Heim > Java > JavaBase > Hauptteil

So implementieren Sie die Serialisierung in Java

Freigeben: 2019-12-26 11:51:09
Original
5279 Leute haben es durchsucht

So implementieren Sie die Serialisierung in Java

1. Serialisierung implementieren:

1) Verwenden Sie die Serializable-Schnittstelle, um die Serialisierung zu implementieren

Zuerst definieren wir eine Objektklasse Benutzer

public class User implements Serializable {
    //序列化ID
    private static final long serialVersionUID = 1L;
    private int age;
    private String name;
    //getter和setter方法、
    //toString方法}
Nach dem Login kopieren

Als nächstes implementieren Sie die Serialisierung und Deserialisierung in der Testklasse.

public class Test {
    public static void main(String[] args) throws Exception, IOException {
        //SerializeUser();
        DeSerializeUser();
    }
    //序列化方法
    private static void SerializeUser() throws FileNotFoundException, IOException {
        User user = new User();
        user.setName("Java的架构师技术栈");
        user.setAge(24);
        //序列化对象到文件中
        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("G://Test/template"));
        oos.writeObject(user);
        oos.close();
        System.out.println("序列化对象成功");
    }
    //反序列化方法
    private static void DeSerializeUser() throws FileNotFoundException, IOException{
        File file = new File("G://Test/template");
        ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
        User newUser = (User)ois.readObject();
        System.out.println("反序列化对象成功"+newUser.toString());
    }}
Nach dem Login kopieren

2) Verwenden Sie die Externalizable-Schnittstelle, um die Serialisierung zu implementieren

Definieren Sie zunächst eine User1-Klasse

public class User1 implements Externalizable{
    private int age;
    private String name;
    //getter、setter
    //toString方法
    
    public User1() {}
    
    @Override
    public void writeExternal(ObjectOutput out) throws IOException {
    }
    @Override
    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
    }}
Nach dem Login kopieren

Der Unterschied zwischen Externalizable- und Serializable-Schnittstellen:

1) Externalizable erbt von der Serializable-Schnittstelle

2) Wir müssen die Methoden writeExternal() und readExternal() neu schreiben

3) Die Klasse, die die Externalizable-Schnittstelle implementiert, muss Stellen Sie einen öffentlichen Konstruktor ohne Parameter bereit.

2. Funktion:

1) Serialisierung ist ein Mechanismus zur Verarbeitung von Objektströmen. Der sogenannte Objektstrom dient dazu, den Inhalt des Objekts zu streamen Wenn Sie Lese- und Schreibvorgänge ausführen, können Sie auch gestreamte Objekte in das und aus dem Netzwerk übertragen sein Daten-Out-of-Order-Problem)

3) Zusätzlich zur Erzielung der Objektpersistenz kann die Serialisierung auch zum tiefen Klonen von Objekten verwendet werden

3 >1) Speichern Sie das Objekt dauerhaft und speichern Sie die Bytesequenz des Objekts in einer lokalen Datei oder Datenbank

2) Übertragen und empfangen Sie das Objekt in Form eines Bytestreams durch Serialisierung; 3) Übertragen Sie Objekte zwischen Prozessen durch Serialisierung.

Weitere Java-Kenntnisse finden Sie in der Spalte

Java-Grundlagen-Tutorial

.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Serialisierung in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!