...そしてアンマーシャリング/デシリアライズ?ウィキペディアの説明では、私は賢明な人ではありません!用語が異なる言語で異なる方法で使用される場合、私はJavaプログラマーです。
...そしてアンマーシャリング/デシリアライズ?ウィキペディアの説明では、私は賢明な人ではありません!用語が異なる言語で異なる方法で使用される場合、私はJavaプログラマーです。
回答:
この質問は以前に聞かれましたが、StackOverflowについてです。こちらがリンクです。
ジェフリー・ハンティンによる答えの引用:
マーシャリングとシリアル化は、リモートプロシージャコールのコンテキストでは大まかに同義ですが、意図的に意味的に異なります。
特に、マーシャリングはここからそこへパラメータを取得することに関するものであり、シリアル化は構造化データをバイトストリームなどのプリミティブ形式との間でコピーすることです。この意味で、シリアル化はマーシャリングを実行する1つの手段であり、通常は値渡しのセマンティクスを実装しています。
オブジェクトを参照によってマーシャリングすることもできます。この場合、「ワイヤ上」のデータは、元のオブジェクトの位置情報にすぎません。ただし、そのようなオブジェクトはまだ値のシリアル化に適している場合があります。
@Billが言及しているように、コードベースの場所やオブジェクト実装コードなどの追加のメタデータが存在する場合があります。
マーシャラーは、ある場所から別の場所に転送されるデータ構造をキャストするために、必要なことを何でも行います。「データ構造」について話すときは、何でも構いません。オブジェクト自体(状態データ=>フィールド値)から、「スタブ」によってクライアント側で、「プロキシ」によってサーバー側で処理されるオブジェクトへのメモリ参照へ。これは、マーシャラーが「シリアライザー」を使用して、そのデータ構造をより簡単に転送できる低レベルの表現に変換できることを意味します。変換パスには、コンプレッサ、コンパイラ、アダプタなどの別のコンポーネントを含めることができます。私にとって、シリアライザはマーシャラーの一部です。