JavaTM SE Development Kit 6 での
直列化の変更と拡張
ここでは、Java SE Development Kit 6 (JDK) の直列化の拡張機能について説明します。以前のリリースで拡張された機能についてのサマリーは、「
以前のリリースでの拡張機能」を参照してください。
java.io.ObjectStreamClass.lookupAny
- 以前のリリースでは、直列化が不可能な
Class
の ObjectStreamClass
インスタンスをプログラムで取得することは困難でした。しかし、クラス記述子のストリーム形式をカスタマイズするときは、そのようにすることが望ましい場合もあります (詳細については、4413615 を参照)。新しいメソッド ObjectStreamClass.lookupAny をこのために使用できるようになりました。
- バグの修正: 遅延ガベージコレクション
- 以前のリリースでは、バグ 6232010 により、
ObjectOutputStream
および ObjectInputStream
の直列化可能クラスおよびサブクラスを直列化操作で使用後しばらくたっても、これらのクラスへの強い参照がある場合がありました。このためこれらを定義するクラスローダーのガベージコレクションが無期限に遅れる可能性がありました。このバグを修正するために、直列化の実装で内部キャッシュが再構築されました。