Javaベースのシーケンス化(Serializableインタフェース)
シーケンス化,逆シーケンス化,Serializableインタフェースの使用に関する各人の理解.
1.シーケンス化とは?
シーケンス化、「シリアル化」は、Javaオブジェクトメモリのデータをバイナリのデータ列に集約し、ディスクなどの永続的なデータストレージデバイスに格納します.
2.逆シーケンス化とは?
逆シーケンス化とは、シーケンス化された逆プロセスであり、データを復元する必要がある場合、逆シーケンス化されたプロセスによって、オブジェクトをメモリに再復元します.
3.シーケンス化の応用場面はどれらがありますか?
(1)メモリ内のオブジェクトの状態を1つのファイルまたはデータベースに保存する場合
(2)ソケットでネットワーク上で相手を転送する場合
(3)RMI経由でオブジェクトを転送する場合
4. シーケンス化の方法
Serializableインタフェースを実装すればよい.(java.io.Serializableインタフェースはシーケンス化可能なクラスのシンボル的なインタフェースであり、このインタフェース自体に実装する必要のある抽象的な方法はなく、JVMにクラスのオブジェクトがシーケンス化可能であることを伝えるために使用されるだけである)
5.シーケンス化の例
serialVersionUID静的変数は、シーケンス化と逆シーケンス化の過程で1つのクラスを判別する役割を果たし、逆シーケンス化の際、2つのクラスのクラス名が完全に同じであれば、serialVersionUIDによってそのクラスが要求に合致するか否かを判断し、だめであれば異常を投げ出す.serialVersionUIDの値は簡単に1 Lに設定できます.
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に設定できます.