2009-04-22 8 views
5

技術的にはそうではありませんが、オブジェクトのシリアル化とその目的は何ですか?それはいつ使われるべきですか?オブジェクトのシリアル化とは何ですか(Java)

(任意のアナロジーexampls歓迎)

+0

まあ、それは実際に前に依頼されています:http://stackoverflow.com/questions/447898/what-is-object-serialization –

答えて

7

オブジェクトのシリアル化を使用すると、バイナリまたは別のカスタム表現にオブジェクト(データ構造)を形質転換することができますありがとうございました。これは、これらのバイナリ表現を有線経由で送信したり、ファイルシステムに格納したりするために使用できます。

シリアライズが
  • 永続
  • Deepcopy木
  • オブジェクトネットワーク上

    • 送信目的のために使用することができる

    実際、Javaオブジェクトの直列化に関する興味深い点は、オブジェクトのデータをバイナリ表現に変換する標準的なシリアル化メカニズムを使用できること、またはSerializableインターフェイスのメソッドを実装してカスタマイズできることです。それに加えて、あなたのオブジェクトのデータを読んでそれを "手で"シリアル化することができます。つまり、値を読み込んで、必要なフォーマットに変換します。

  • +0

    あなたは疑問符がどこにある何かを置くことを意味していましたか? –

    +0

    いいえ、私はちょうどシリアル化の他のユースケースがどんなものかと思っていました。アイデアはありますか? – paweloque

    4

    基本的には、例えば、オブジェクトに格納されたデータを保存する方法です:

    は、次のリソースを見ては、持っていますまたはネットワークを介して送信することができます。オブジェクトは後で再構成できます。

    0

    技術的ではありません:シリアル化は、メモリベースの構造(メインメモリ内に通常存在するオブジェクトのような)を永続的な通常のハードディスクにストリーミングするプロセスです。そのため、オブジェクトの構造をXMLのようなものにマップします。

    1

    オブジェクトのシリアライズは、オブジェクトの状態をバイトシーケンスに保存するプロセスであり、これらのバイトを将来のある時点でライブオブジェクトに再構築するプロセスです。

    ここでそれを説明するための最も簡単な方法はこれですSecrets of the Java Serialization

    2

    を論じ記事です:

    シリアル化(バイナリ、XMLをアプリケーション内のオブジェクトを取り、いくつかの永続的な形式でそれらを記述するための方法であります、など)。

    一度シリアライズすると、無期限に保存することができます。ワイヤで送信して後で読む...あなたの想像力を使用します。

    1

    別のスタックオーバーフローの質問にはvery good summary hereがあります。 オブジェクトを容易 永続ストレージに保存したり 通信リンクを介してストリーミングすることができるように、accepted answer:

    シリアライゼーションを引用することは、一連のバイトに オブジェクトの変換です。次に、バイトストリーム を逆シリアル化して元のオブジェクトのレプリカに変換することができます。

    関連する問題