Home  >  Article  >  Java  >  What is java serialization

What is java serialization

(*-*)浩
(*-*)浩Original
2019-11-09 11:46:392445browse

Java serialization is the process of converting Java objects into byte streams. When Java objects need to be transmitted over the network or persisted in files, Java objects need to be serialized.

What is java serialization

Serialization implementation: The class implements the Serializable interface. This interface has no methods that need to be implemented. Implementing the Serializable interface is to tell the jvm that objects of this class can be serialized. (Recommended learning: java course )

Note:

If a class can be serialized, its subclasses can also be serialized.

Member variables declared as static and transient cannot be serialized. Static member variables are attributes that describe the class level, and transient represents temporary data

The order in which serialized objects are read during deserialization must be consistent

Specific use

package constxiong.interview;
 
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
 
/**
 * 测试序列化,反序列化
 * @author ConstXiong
 * @date 2019-06-17 09:31:22
 */
public class TestSerializable implements Serializable {
 
	private static final long serialVersionUID = 5887391604554532906L;
	
	private int id;
	
	private String name;
 
	public TestSerializable(int id, String name) {
		this.id = id;
		this.name = name;
	}
	
	@Override
	public String toString() {
		return "TestSerializable [id=" + id + ", name=" + name + "]";
	}
 
	@SuppressWarnings("resource")
	public static void main(String[] args) throws IOException, ClassNotFoundException {
		//序列化
		ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("TestSerializable.obj"));
		oos.writeObject("测试序列化");
		oos.writeObject(618);
		TestSerializable test = new TestSerializable(1, "ConstXiong");
		oos.writeObject(test);
		
		//反序列化
		ObjectInputStream ois = new ObjectInputStream(new FileInputStream("TestSerializable.obj"));
		System.out.println((String)ois.readObject());
		System.out.println((Integer)ois.readObject());
		System.out.println((TestSerializable)ois.readObject());
	}
 
}

Print result:

测试序列化
618
TestSerializable [id=1, name=ConstXiong]

The above is the detailed content of What is java serialization. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:what is java constructorNext article:what is java constructor