Java — serialversionuid là gì

Serialization trong Java

Tuần trường đoản cú hoá vào java tốt serialization vào java là một chế độ nhằm ghi tâm lý của một đối tượng người tiêu dùng vào trong 1 byte stream.

Bạn đang xem: Java — serialversionuid là gì

Nó đa số được áp dụng trong số technology Hibernate, RXiaoMI, JPA, EJB với JMS.

Hoạt rượu cồn ngược lại của serialization được Call là deserialization.

Ưu điểm của Serialization trong java

Nó hầu hết được sử dụng nhằm truyền tâm lý của đối tượng người sử dụng qua mạng (được nghe biết nhỏng marshaling).

*
Kết trái không tồn tại quý giá company, vày ở trong tính này là static.

Xem thêm: Wordpress Side Bar Là Gì Và Được Sử Dụng Như Thế Nào? Sidebar Là Gì

Java Serialization cùng với array hoặc collection

Trong trường thích hợp mảng (array) hoặc tập thích hợp (collection), tất cả các đối tượng của array hoặc collection bắt buộc được tuần từ bỏ hóa (Serializable). Nếu bất kỳ đối tượng không phải là serializable, thì quy trình serialization sẽ không thành công.

Externalizable vào java

Interface Externalizable cung cấp tài năng viết tâm lý của một đối tượng người sử dụng vào trong 1 byte stream làm việc format nén. Nó chưa hẳn là 1 đồ họa khắc ghi.

Interface Externalizable cung ứng hai pmùi hương thức:

public void writeExternal(Objectđầu ra out) throws IOExceptionpublic void readExternal(ObjectInput in) throws IOException

Từ khóa transient trong java

Nếu không muốn serialize ngẫu nhiên trực thuộc tính nào của một lớp, chúng ta cũng có thể đánh dấu nó với trường đoản cú khóa transient.

lấy ví dụ như, khai báo một lớp Student, có ba member tài liệu là id, name và age. Lớp Student implements giao tiếp Serializable, toàn bộ những cực hiếm sẽ được tuần trường đoản cú cơ mà nếu khách hàng không muốn tuần từ cho một cực hiếm, ví dụ: age thì chúng ta có thể knhì báo age cùng với tự khóa transient.

package com.opdaichien.com.serialize;import java.io.Serializable;public class Student implements Serializable private static final long serialVersionUID = -266706354210367639L;private int id;private String name;private transient int age;public Student(int id, String name, int age) this.id = id;this.name = name;this.age = age;
Overridepublic String toString() return "Student ";ví dụ như sử dụng ObjectOutputStream nhằm ghi đối tượng người dùng student vào file

package com.opdaichien.com.bytestream;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectOutputStream;public class SerializationTransientExample public static void main(String args<>) throws Exception ObjectOutputStream oos = null;try oos = new ObjectOutputStream(new FileOutputStream("data/student.txt"));Student student = new Student(1, "opdaichien.com", 28);oos.writeObject(student);oos.flush(); catch (IOException ex) ex.printStackTrace(); finally oos.close();System.out.println("success...");lấy một ví dụ thực hiện ObjectInputStream nhằm phát âm đối tượng người dùng student từ bỏ file

package com.opdaichien.com.bytestream;import java.io.FileInputStream;import java.io.IOException;import java.io.ObjectInputStream;public class DeserializationTransientExample public static void main(String args<>) throws Exception ObjectInputStream ois = null;try ois = new ObjectInputStream(new FileInputStream("data/student.txt"));Student student = (Student) ois.readObject();System.out.println(student); catch (IOException ex) ex.printStackTrace(); finally ois.close();Thực thi chương thơm tình SerializationTransientExample, tiếp nối xúc tiến công tác DeserializationTransientExample. Ta bao gồm hiệu quả nhỏng sau:

Leave a Reply

Your email address will not be published. Required fields are marked *

  • Vì sao bị sa tử cung, nguyên nhân

  • Sau really là gì, 7 cách dùng của từ really trong tiếng anh

  • Bài 9: các dạng thức của Động từ: v

  • Vì sao châu á có nhiều đới cảnh quan

  • x

    Welcome Back!

    Login to your account below

    Retrieve your password

    Please enter your username or email address to reset your password.