ホームページ  >  記事  >  シリアル化可能なインターフェイスの機能は何ですか

シリアル化可能なインターフェイスの機能は何ですか

coldplay.xixi
coldplay.xixiオリジナル
2021-02-22 14:33:4230731ブラウズ

シリアル化可能なインターフェイスの機能: 1. 次回使用するときにコピーをすぐに再構築できるように、オブジェクトを記憶媒体に保存します; 2. 特にリモート呼び出し中のデータ送信を容易にします。

シリアル化可能なインターフェイスの機能は何ですか

#この記事の動作環境: Windows 7 システム、Dell G3 コンピューター。

シリアル化可能インターフェイスの役割:

シリアル化可能インターフェイス は、シリアル化機能を有効にするインターフェイスです。 java.io.Serializable インターフェイスを実装するクラスはシリアル化可能です。このインターフェイスを実装していないクラスは、状態をシリアル化または逆シリアル化することができません。

個人的な理解:

この紹介は非常に根拠のないものなので、いくつかのブログを読みに行ったところ、ある若い女性のブログが目に留まりました。彼女はこのように理解しました。:

シリアル化プロセスは「フリーズ」プロセスです。オブジェクトをフリーズしてから保存します。再度必要になったときは、オブジェクトをすぐにフリーズ解除できます。使用します。

私たちはシリアル化はないと考えていましたが、実際には、さまざまな変数を宣言するときに、特定のデータ型がシリアル化操作の実現に役立ちました。

Serializable インターフェイスのソース コードを開くと、このインターフェイスが実際には空のインターフェイスであることがわかります。では、このシリアル化操作は誰が実装したのでしょうか?実際、インターフェイスのアノテーションを見ると、エンティティ クラスに Serializable インターフェイスを実装させると、実際には、このクラスがシリアル化可能であり、デフォルトのシリアル化メカニズムによってシリアル化できることを JVM に伝えていることがわかります。

シリアル化の役割:

*シリアル化は、オブジェクトの状態を維持または送信できる形式に変換するプロセスです。シリアル化の反対は逆シリアル化で、ストリームをオブジェクトに変換します。これら 2 つのプロセスを組み合わせることで、データの保存と転送が簡単になります。

1. 次回使用するときにコピーをすぐに再構築できるように、オブジェクトをストレージ メディアに保存します。 つまり、結果の一連のビットがシリアル化形式に従って再読み取られると、元のオブジェクトの意味的に同一のクローンを作成するために使用できます。

質問: シリアル化を実装しなかった場合、 sqlserver、MySQL、Oracle データベースに保存することもできますが、保存する前にシリアル化する必要があるのはなぜですか? ? ? ?

2、特にリモート呼び出しを行う場合のデータ送信を容易にするため。

java.io.Serializable インターフェイスの実装はシリアル化用であり、serialVersionUID は実装を示すために使用されます。 sequence クラスの異なるバージョン間の互換性。このクラスを変更する場合は、この値も変更します。

そうしないと、以前に古いバージョンのクラスでシリアル化されたクラスを復元​​するときにエラーが発生します。

実装後、ツールを使用している場合は、警告が表示され、プロンプトが表示されますが、プライベート スタティック ファイナル ロング SerialVersionUID = 1L; を自動的に生成できます。逆シリアル化中のクラス バージョンの互換性を確保するために、幸いなことに、プライベートの静的な最終的な長いserialVersionUID属性はシリアル化される各クラスに追加され、特定の値は自分で定義されます互換性、つまり逆シリアル化により、バージョンがアップグレードされてもオブジェクトの一意性が維持されます。

自由に記述でき、Eclipse で生成されます。生成するには 2 つの方法があります: 1 つはデフォルトの 1L (例:

private static final long serialVersionUID = 1L;

) もう 1 つは次のとおりです。クラス名とインターフェイス名、メンバーのメソッドと属性などに基づいて、次のような 64 ビット ハッシュ フィールドを生成します。

private static final long serialVersionUID = -8940196742313994740L;

関連する無料学習の推奨事項:

プログラミングビデオ

以上がシリアル化可能なインターフェイスの機能は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。