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