Javaトランジェントキーワードチュートリアル–トランジェント変数はシリアル化できない変数です

公開: 2020-08-23

Javaトランジェントキーワードチュートリアル-Crunchify

オブジェクトをシリアル化する必要がある場合は、特定のフィールドmarking it as transientにより、特定のフィールドのシリアル化をスキップするオプションがあります。

transientは、バイトのストリームに永続化されるときにシリアル化されないようにメンバー変数をマークするJavaキーワードです。

オブジェクトをシリアル化する必要があるのはいつですか?

Javaオブジェクトをネットワーク経由で転送する場合は、オブジェクトneeds to be serialized 。 シリアル化は、オブジェクトの状態をシリアルバイトに変換します。

一時的なJavaの例を見てみましょう

  1. まず、Serializableを実装するPOJOオブジェクトCrunchifyTransientVariableObjectを作成しましょう。
  2. メインクラスCrunchifyJavaTransientFieldTutorialを作成します。
    • オブジェクトを作成します。
    • オブジェクトをファイルに書き込みます。 ファイル出力ストリームは、ファイルまたはFileDescriptorにデータを書き込むための出力ストリームです。
    • オブジェクトを読み取ります。
    • フィールドが一時的である場合– 0(intの場合)、null(文字列フィールドの場合)などを返します。

CrunchifyTransientVariableObject.java

ここで、 homeZipは一時的な変数です。

CrunchifyJavaTransientFieldTutorial.java

プログラムを実行します。

一時的なキーワードの場合:

一時的なキーワードなし:

上記のプログラムのtransientキーワードを削除して、プログラムを再実行してください。

上記のように、郵便番号95112を確認できました。

オブジェクトと一時変数のシリアル化で問題が発生した場合はお知らせください。