Skip to main content

シリアル化とは何ですか?

computerコンピュータープログラミングでは、シリアル化とは、ローカルメモリに保存されたデータ構造を取得し、ネットワーク上に送信したり、ディスクに保存されたりするバイトのストリームに変換するプロセスです。シリアル化は、オブジェクトの状態を保存するためにも使用できるように、同じプログラムによって後でリロードできます。この関数のより複雑な使用は、リモート手順コール(RPC)を呼び出すことです。、ネットワークを介して別のコンピューターで手順を効果的に実行します。このメカニズムにより、大規模なネットワークシステムでデータオブジェクトを配布することもできます。この機能を追加するために利用可能なライブラリ。オブジェクトがシリアル化されると、オブジェクトのすべてのフィールドが平らになります。このプロセスはデフレートまたはマーシャリングとしても知られています。任意の出力ストリームに書き込めるバイトの1次元の行。出力ストリームのタイプは重要ではなく、ファイルまたはネットワークソケットになる可能性があります。バイトストリームはすべての情報を復元し、元のオブジェクトの新しいインスタンスに配置し、正確なコピーを作成します。オブジェクトが保持していたデータのみがマーシャリングされていることを理解することが重要です。オブジェクトとそのメソッドおよびその他の実装データはそうではありません。これは、データを辞任するプログラムが、元々シリアル化されたクラスのインスタンスを作成できる必要があることを意味します。さまざまな目的で。オブジェクト情報は物理メディアに保存できるため、すべてのオブジェクトの正確な状態をプログラムの実行が停止した時点まで復元できます。別のコンピューターにメッセージを送信するために使用できます。リモート手順が実行されます。シリアル化を使用して、リアルタイムアプリケーションの状態の変更を効率的に比較することもできます。重要なのは、オブジェクトをバイトストリームに変換するプロセスを通じて、プライベートとして宣言されるフィールドが公開されることです。ストリームの送信中に、このデータをキャプチャおよびデコードでき、セキュリティホール。ほとんどの場合年齢はデータシリアル化形式の外部化を可能にするため、このリスクを軽減するために独自のエンコードが可能です。シリアル化されたオブジェクトとまったく同じです。新しいフィールドまたはメソッドがオブジェクトに追加された場合、オブジェクトの署名が変更されます。例外を引き起こすと、元の未修飾オブジェクトのインスタンスがそれを復元しようとするまで、データが回復できなくなります。