ホームページ  >  記事  >  Java  >  なぜ Java で Serializable シリアル化インターフェイスを実装する必要があるのでしょうか?

なぜ Java で Serializable シリアル化インターフェイスを実装する必要があるのでしょうか?

王林
王林転載
2019-11-30 17:03:254309ブラウズ

なぜ Java で Serializable シリアル化インターフェイスを実装する必要があるのでしょうか?

私たちは JavaSE を学習していたときに ObjectInputStreamObjectOutputStream を学びました。ファイルに書き込まれる場合は、実装する必要があります。シリアル化可能なインターフェイス。実際、このように理解して全く問題ありません。

1. 問題の概要

なぜ Java でシリアル化インターフェイスを実装する必要があるのでしょうか?

なぜ Java で Serializable シリアル化インターフェイスを実装する必要があるのでしょうか?

Java プログラムでは、データがディスクに書き込まれますが、データが通常の文字列であれば問題ありません。 、すべてのマシンは通常、文字列を認識できます。文字列を対応するバイトに変換する必要がある場合でも、コンピュータは文字列を対応するバイト(コードテーブル)に変換する方法も知っていますが、それがJavaオブジェクトの場合は面倒になります。ディスクは、渡されたものを知りません これは Java オブジェクトです つまり、ディスクは Java オブジェクトを対応するバイトに変換する形式を知りません。

関連ビデオチュートリアルの共有: java 学習

Java オブジェクトは本質的にクラスのバイトコードであることはわかっていますが、ディスクはこのバイトコードをクラスに書き込む方法を知りません。したがって、ディスクを「識別」して、ディスクに「私は Java オブジェクトです。この方法でディスクに書き込みたいのですが」、「この方法でディスクに書き込んでください」と指示する必要があります。したがって、Serializable インターフェイスを実装すると、「私は Java オブジェクトである」ことが識別されるだけです。

上記のテキストを理解していれば、次の図を理解するのは難しくありません。

#2. 理解を深める

なぜ Java で Serializable シリアル化インターフェイスを実装する必要があるのでしょうか?Java はオブジェクトのシリアル化メカニズムを提供します。オブジェクトは、オブジェクトのデータ、オブジェクトのタイプ、オブジェクトに格納されている属性などの情報を含むバイト シーケンスで表すことができます。バイト シーケンスがファイルに書き込まれた後は、ファイル内のオブジェクトの情報を永続化することと同じになります。

逆に、バイト シーケンスをファイルから読み戻し、オブジェクトを再構築し、逆シリアル化することもできます。オブジェクトのデータ、オブジェクトのタイプ、およびオブジェクトに格納されているデータ情報はすべて、メモリ内にオブジェクトを作成するために使用できます。シリアル化を理解するには、図を見てください:

おすすめの関連記事とチュートリアル:

java エントリ プログラムなぜ Java で Serializable シリアル化インターフェイスを実装する必要があるのでしょうか?

以上がなぜ Java で Serializable シリアル化インターフェイスを実装する必要があるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。