目次 | 前へ | 次へ | Java オブジェクト直列化仕様 Version 6.0 |
2005 年 5 月 12 日 JavaTM SE Development Kit, v6 Beta 1 用の更新
readResolve
呼び出しにより返される配列オブジェクトの処理方法に関する説明を追加しました。無効な serialPersistentFields
値の場合の動作を明示しました。serialVersionUID
の一致が適用されないことを明示しました。IllegalArgumentException
が ObjectOutputStream.PutFields
によってスローされるタイミングを明示しました。2003 年 7 月 24 日 JavaTM 2 SDK, Standard Edition, v1.5 Beta 1 用の更新
serialVersionUID
値の計算で使用されるクラス修飾子フラグの仕様を、セクション 4.6「ストリーム固有識別子」に追加しました。2001 年 8 月 16 日 JavaTM 2 SDK, Standard Edition, v1.4 Beta 2 用の更新
readObjectNoData
のサポートを追加しました (クラス定義メソッド readObject が対応できない直列化可能クラスフィールド初期化のために使用される)。セクション 3.5「readObjectNoData メソッド」および付録 A 「オブジェクト直列化におけるセキュリティー」を参照してください。ObjectOutputStream.writeUnshared
および ObjectInputStream.readUnshared
は、直列化復元されたオブジェクトへの一意参照を保証するメカニズムを提供します。セクション 2.1「ObjectOutputStream クラス」、セクション 3.1「ObjectInputStream クラス」、および付録 A 「オブジェクト直列化におけるセキュリティー」を参照してください。ObjectOutputStream
および ObjectInputStream
の単一引数コンストラクタにおける新しいセキュリティーチェックを文書化しました。セクション 2.1「ObjectOutputStream クラス」とセクション 3.1「ObjectInputStream クラス」を参照してください。writeObject
メソッドがオプションデータを書き込む前に ObjectOutputStream.defaultWriteObject
または writeFields
を一度呼び出す必要があること、およびクラス定義 readObject
メソッドがオプションデータを読み込む前に ObjectInputStream.defaultReadObject
または readFields
を一度呼び出す必要があることを明示しました。セクション 2.3「writeObject メソッド」とセクション 3.4「readObject メソッド」を参照してください。readObject
メソッドまたは readExternal
メソッドが利用可能なデータの境界を超える読み取り操作を試みたときの ObjectInputStream
の動作を明示しました。セクション 3.4「readObject メソッド」およびセクション 3.6「readExternal メソッド」を参照してください。1999 年 7 月 30 日 JavaTM 2 SDK, Standard Edition, v1.3 Beta 用の更新
String
オブジェクトを書き込む機能を追加しました。セクション 6.2「ストリーム要素」 を参照してください。ObjectOutputStream.writeClassDescriptor
および ObjectInputStream.readClassDescriptor
は、ObjectStreamClass
クラス記述子の直列化表現をカスタマイズする手段を提供します。セクション 2.1「ObjectOutputStream クラス」とセクション 3.1「ObjectInputStream クラス」を参照してください。1998 年 9 月 30 日 JDKTM 1.2 Beta4 RC1 用の更新
1998 年 6 月 22 日 JDKTM 1.2 Beta4 用の更新
java.io
インタフェース、Replaceable
および Resolvable
を削除しました。インタフェースとしてのこれらのクラスへの参照は、いずれも java.io.Serializable
に置き換えるようにしてください。Serializable クラスが writeReplace
および readResolve
メソッドを定義する場合、直列化はリフレクションを使ってこれらのメソッドを呼び出します。セクション 2.5「writeReplace メソッド」とセクション 3.7「readResolve メソッド」を参照してください。serialPersistentFields
は、private として宣言しなければいけません。セクション 1.5「クラスの直列化可能なフィールドの指定」を参照してください。serialVersionUID
の計算に必要な手順をセクション 4.6「ストリーム固有識別子」に明示しました。1998 年 2 月 6 日 JDKTM 1.2 Beta 3 用の更新
STREAM_PROTOCOL_2
バージョンを追加しました。ストリーム内で Externalizable
オブジェクトによるスキップを有効にする (ローカル仮想マシン内でオブジェクトのクラスが利用できない場合でも)、Externalizable
オブジェクトの新しいフォーマットを示します。互換性の問題については、セクション 6.3「ストリームプロトコルバージョン」を参照してください。The ObjectInputStream.resolveClass
メソッドは、ストリーム内のクラス名とは別のパッケージのローカルクラスを返すことができます。この機能により、リリース間でパッケージ名を変えることができます。serialVersionUID
および基底クラス名は、ストリーム内とローカルバージョンのクラス内で同じである必要があります。セクション 3.1「ObjectInputStream クラス」を参照してください。String
または array
オブジェクトをストリームに書き込むときまたはストリームから読み込むときに、それらの置換が可能になります。セクション 2.1「ObjectOutputStream クラス」とセクション 3.1「ObjectInputStream クラス」を参照してください。1997 年 9 月 4 日 JDKTM 1.2 Beta1 用の更新
ObjectInputStream.enableReplace
および ObjectOutputStream.enableResolve
メソッド内に SerializablePermission "enableSubstitution"
のチェックがあります。セクション 2.1「ObjectOutputStream クラス」とセクション 3.1「ObjectInputStream クラス」を参照してください。IOException
をストリームに書き込むように、writeObject
の例外ハンドラを更新しました。セクション 2.1「ObjectOutputStream クラス」を参照してください。1997 年 7 月 3 日 JDKTM 1.2 Alpha 用の更新