| 目次 | 前へ | 次へ | 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 用の更新