> 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

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/26650/files
  - new: https://git.openjdk.org/jdk/pull/26650/files/8aabb9d8..7d422513

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=26650&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=26650&range=01-02

  Stats: 32 lines in 3 files changed: 1 ins; 26 del; 5 mod
  Patch: https://git.openjdk.org/jdk/pull/26650.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/26650/head:pull/26650

PR: https://git.openjdk.org/jdk/pull/26650

Reply via email to