Javaでシリアル化を実装する方法

リリース: 2019-12-26 11:51:09
オリジナル
5212 人が閲覧しました

Javaでシリアル化を実装する方法

1. シリアル化の実装:

1) Serializable インターフェイスを使用してシリアル化を実装します。

まず、オブジェクト クラスを定義します。 User

public class User implements Serializable { //序列化ID private static final long serialVersionUID = 1L; private int age; private String name; //getter和setter方法、 //toString方法}
ログイン後にコピー

次に、Test クラスでシリアル化と逆シリアル化を実装します。

public class Test { public static void main(String[] args) throws Exception, IOException { //SerializeUser(); DeSerializeUser(); } //序列化方法 private static void SerializeUser() throws FileNotFoundException, IOException { User user = new User(); user.setName("Java的架构师技术栈"); user.setAge(24); //序列化对象到文件中 ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("G://Test/template")); oos.writeObject(user); oos.close(); System.out.println("序列化对象成功"); } //反序列化方法 private static void DeSerializeUser() throws FileNotFoundException, IOException{ File file = new File("G://Test/template"); ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file)); User newUser = (User)ois.readObject(); System.out.println("反序列化对象成功"+newUser.toString()); }}
ログイン後にコピー

2) Externalizable インターフェイスを使用してシリアル化を実装する

最初に、User1 クラスを定義します

public class User1 implements Externalizable{ private int age; private String name; //getter、setter //toString方法 public User1() {} @Override public void writeExternal(ObjectOutput out) throws IOException { } @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { }}
ログイン後にコピー

Externalizable インターフェイスと Serializable インターフェイスの違い:

1) Externalizable は Serializable インターフェイスから継承します

2) writeExternal() メソッドと readExternal() メソッドをオーバーライドする必要があります

3) Externalizable インターフェイスを実装するクラスは、次のことを行う必要がありますパブリックパラメータコンストラクタを提供します。

2. 機能:

1) シリアル化は、オブジェクト ストリームを処理するために使用されるメカニズムです。いわゆるオブジェクト ストリームは、オブジェクトのコンテンツをストリーミングすることであり、ストリームされたオブジェクトは、読み取りおよび書き込み操作を実行するだけでなく、ストリームされたオブジェクトをネットワークに転送することもできます。

2) オブジェクト ストリームの読み取りおよび書き込み操作中に発生する可能性がある問題を解決するには (シリアル化が実行されない場合、問題が発生する可能性があります) be data Out-of-order 問題)

#3) オブジェクトの永続性を実現することに加えて、シリアル化はオブジェクトのディープ クローン作成にも使用できます

#3. シリアル化の使用シナリオ

1) オブジェクトを永続的に保存し、オブジェクトのバイト シーケンスをローカル ファイルまたはデータベースに保存します;

##2) シリアル化を通じてバイト ストリームの形式でオブジェクトを送受信します;

3 ) シリアル化を通じてプロセス間でオブジェクトを転送する;

Java の詳細については、

java 基本チュートリアル

列に注目してください。

以上がJavaでシリアル化を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!