この記事では、参照のためのJavaオブジェクトのシリアル化と脱派化を共有しています。特定のコンテンツは次のとおりです
1。シリアル化とは
オブジェクトをバイトストリームに変換し、ファイルに保存したり、後でオブジェクトを復元したりするなど、保存します。このメカニズムは、オブジェクトシリアル化と呼ばれます。 (追加文:永続的なストレージデバイスにオブジェクトを保存することは永続性と呼ばれます)
2.シリアル化の実装方法<br />シリアル化可能なインターフェイスを実装する必要があります。 Javaオブジェクトがこのインターフェイスを実装する場合、このクラスのオブジェクトがシリアル化可能であることを意味します。
3。シリアル化に関するメモ
(1)オブジェクトがシリアル化されている場合、オブジェクトの非静的なメンバー変数のみを保存することができ、メソッドと静的メンバー変数を保存することはできません。
(2)オブジェクトAはオブジェクトB、オブジェクトAはシリアル化され、Bもシリアル化されます。
(3)シリアル化可能なオブジェクトに非正規化オブジェクトへの参照が含まれている場合、シリアル化操作全体が失敗し、NotserializableExceptionがスローされます。したがって、オブジェクトと参照オブジェクトの両方が、シリアル化を実行する前にシリアル化可能なインターフェイスを実装する必要があります。
(4)一時的な、メンバー変数または参照の使用が過渡としてマークされている場合、オブジェクトは引き続き注文できますが、ファイルにシリアル化されません。
4。コード
パブリッククラスの人はシリアル化可能{プライベート文字列名;プライベートトランジェントインターエイジ;パブリックパーソン(文字列名、int age){super(); this.name = name; this.age = age; } public string toString(){return this.name + " - " + this.age; }} public class serializableclient {public static void main(string [] args)throws exception {person p1 = new person( "zhangsan"、5);人P2 =新しい人( "lisi"、100); // serialize fileoutputStream fos = new fileoutputStream( "person.txt"); ObjectOutputStream OOS = new objectOutputStream(FOS); oos.writeobject(p1); oos.writeObject(P2); System.out.println( "---------"); // deserialize fileinputStream fis = new fileinputStream( "person.txt"); ObjectInputStream ois = new ObjectInputStream(fis); for(int i = 0; i <2; i ++){person tempperson =(person)ois.readobject(); System.out.println(tempperson); }}}
出力結果:
------------
Zhangsan-0
lisi-0
5。細粒の制御シリアル化と脱介入
シリアル化または降下クラスに上記の2つのプライベートメソッドを実装する場合(メソッド宣言は上記と完全に一致する必要があります)、より根本的でより継承された粒状の方法でシリアル化と脱派化のプロセスを制御することができます。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。