RFR: 8365292: Remove javax.imageio.spi.ServiceRegistry.finalize()
Phil Race
prr at openjdk.org
Tue Aug 12 19:39:32 UTC 2025
Remove javax.imageio.spi.ServiceRegistry.finalize() since it is deprecated for removal.
The impact of this should be minimal. The IIORegistry will now be a singleton - which it already was
in practice since Applets are no longer supported. Since it is a singleton, it will persist for the life
of the VM, so will never be garbage collected.
A test that verifies one per-AppContext is now obsolete, and is deleted, and there's no good reason to make it a negative test, since in due course AppContext itself will be deleted and is un-used today except in tests.
Since JDK 9, ServiceRegistry has supported only Image I/O specified providers, and since the IIORegistry does this,
in practice there is very little reason for an application to create instances or subclasses of it.
And even if they do, typically like IIORegistry, they be used for the life time of the application.
And if they are collected, without calling ServiceRegistry.deregisterAll() there may be no impact,
since only providers that implement RegisterableService will be affected.
See the JBS issue for all the details.
-------------
Commit messages:
- 8365292
- 8365292
Changes: https://git.openjdk.org/jdk/pull/26752/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=26752&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8365292
Stats: 195 lines in 3 files changed: 11 ins; 180 del; 4 mod
Patch: https://git.openjdk.org/jdk/pull/26752.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/26752/head:pull/26752
PR: https://git.openjdk.org/jdk/pull/26752
More information about the client-libs-dev
mailing list