> Java > Java베이스 > 자바 직렬화 란 무엇입니까?

자바 직렬화 란 무엇입니까?

(*-*)浩
풀어 주다: 2019-11-09 11:46:39
원래의
2641명이 탐색했습니다.

Java 직렬화는 Java 객체를 바이트 스트림으로 변환하는 프로세스입니다. Java 객체를 네트워크를 통해 전송하거나 파일에 유지해야 하는 경우 Java 객체를 직렬화해야 합니다.

자바 직렬화 란 무엇입니까?

직렬화 구현: 클래스는 직렬화 가능 인터페이스를 구현합니다. 이 인터페이스에는 구현해야 할 메서드가 없습니다. 직렬화 가능 인터페이스를 구현하는 것은 이 클래스의 객체를 직렬화할 수 있음을 jvm에 알리는 것입니다. (추천 학습: java 과정 )

참고:

클래스가 직렬화될 수 있으면 해당 클래스의 하위 클래스도 직렬화될 수 있습니다.

정적 및 임시로 선언된 멤버 변수는 직렬화될 수 없습니다. 정적 멤버 변수는 클래스 수준의 속성을 설명하고 임시 데이터는 임시 데이터를 나타냅니다.

직렬화된 객체를 읽는 순서와 직렬화된 객체는 일관되어야 합니다.

특정 용도

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());
	}
 
}
로그인 후 복사

결과 인쇄:

测试序列化
618
TestSerializable [id=1, name=ConstXiong]
로그인 후 복사

위 내용은 자바 직렬화 란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿