RFR: 8365292: Remove javax.imageio.spi.ServiceRegistry.finalize() [v2]

Sergey Bylokhov serb at openjdk.org
Fri Aug 22 03:06:06 UTC 2025


On Wed, 20 Aug 2025 20:36:21 GMT, Phil Race <prr at openjdk.org> wrote:

>> 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.
>> 
>> The CSR is ready for review https://bugs.openjdk.org/browse/JDK-8365409
>
> Phil Race has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8365292

Marked as reviewed by serb (Reviewer).

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

PR Review: https://git.openjdk.org/jdk/pull/26752#pullrequestreview-3142943850


More information about the client-libs-dev mailing list