On Wed, 6 Aug 2025 22:34:30 GMT, Phil Race <p...@openjdk.org> wrote:

>> This PR removes javax/imageio/stream/ImageInputStreamImpl.finalize()
>> As a result, sub-classes which over-ride it to be empty no longer need to do 
>> so.
>> Also it means that the 2 remaining classes which used it no longer can.
>> FileCacheImageOutputStream will have its cache cleaned up by a disposer.
>> The impact on applications is that they, or the ImageWriter may need to call 
>> flush() IF they relied on finalization.
>> However that should be extremely unlikely given that finalization will 
>> happen far too late in most cases, and is
>> really meant to clean up internal resources.
>> The JDK's GIF and TIFF image writers don't flush themselves, so applications 
>> which use these together with one of these caching streams would have 
>> learned this already.
>> 
>> The principal outside risk is to 3rd party ImageIO stream subclasses which 
>> both allocate native resources and rely on finalization as a backstop clean 
>> up in case applications forget to call close. But it will be the 
>> applications that are affected if the resource is depleted. 
>> The risks of this will be covered in the CSR.
>> 
>> There's also a lengthy write up in the JBS issue.
>
> Phil Race has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   8277585

The CSR is ready for review https://bugs.openjdk.org/browse/JDK-8364778

-------------

PR Comment: https://git.openjdk.org/jdk/pull/26650#issuecomment-3172831881

Reply via email to