Javaベースのシーケンス化(Serializableインタフェース)


シーケンス化,逆シーケンス化,Serializableインタフェースの使用に関する各人の理解.
 
1.シーケンス化とは?
シーケンス化、「シリアル化」は、Javaオブジェクトメモリのデータをバイナリのデータ列に集約し、ディスクなどの永続的なデータストレージデバイスに格納します.
 
2.逆シーケンス化とは?
逆シーケンス化とは、シーケンス化された逆プロセスであり、データを復元する必要がある場合、逆シーケンス化されたプロセスによって、オブジェクトをメモリに再復元します.
 
3.シーケンス化の応用場面はどれらがありますか?
 
  (1)メモリ内のオブジェクトの状態を1つのファイルまたはデータベースに保存する場合
   (2)ソケットでネットワーク上で相手を転送する場合
 
    (3)RMI経由でオブジェクトを転送する場合
 
4.    シーケンス化の方法
  Serializableインタフェースを実装すればよい.(java.io.Serializableインタフェースはシーケンス化可能なクラスのシンボル的なインタフェースであり、このインタフェース自体に実装する必要のある抽象的な方法はなく、JVMにクラスのオブジェクトがシーケンス化可能であることを伝えるために使用されるだけである)
 
5.シーケンス化の例
package com.wxmp.core.page;

import java.io.Serializable;

/**
 * 
 *        
 */
@Data
public class Page implements Serializable {
  
	private static final long serialVersionUID = 1L;
	
	private int page =1 ;  //     
	
	private int pageSize =20;  //         
	
	private int total = 0; //   
	
	private int totalPage= 1; //   
	
	private String account = WxMemoryCacheClient.getAccount();

	public int getPage() {
		return page;
	}

	public void setPage(int page) {
		this.page = page;
	}

	public int getPageSize() {
		return pageSize;
	}

	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}

	public int getTotal() {
		return total;
	}

	public void setTotal(int total) {
		this.total = total;
	}

	public int getTotalPage() {
		return totalPage;
	}

	public void setTotalPage(int totalPage) {
		this.totalPage = totalPage;
	}
	
	
	
}Serializable {
  
	private static final long serialVersionUID = 1L;
	
	private int page =1 ;  //当前页索引
	
	private int pageSize =20;  //每页显示的数据条数
	
	private int total = 0; //总条数
	
	private int totalPage= 1; //总页数
	
	private String account = WxMemoryCacheClient.getAccount();

	public int getPage() {
		return page;
	}

	public void setPage(int page) {
		this.page = page;
	}

	public int getPageSize() {
		return pageSize;
	}

	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}

	public int getTotal() {
		return total;
	}

	public void setTotal(int total) {
		this.total = total;
	}

	public int getTotalPage() {
		return totalPage;
	}

	public void setTotalPage(int totalPage) {
		this.totalPage = totalPage;
	}
	
	
	
}

  其中实现了Serializable接口就是实现了序列化。

 

private static final long serialVersionUID = 1L;

serialVersionUID静的変数は、シーケンス化と逆シーケンス化の過程で1つのクラスを判別する役割を果たし、逆シーケンス化の際、2つのクラスのクラス名が完全に同じであれば、serialVersionUIDによってそのクラスが要求に合致するか否かを判断し、だめであれば異常を投げ出す.serialVersionUIDの値は簡単に1 Lに設定できます.