RFR 8169435 : ClassLoader.isParallelCapable is final and conflicting method may get VerifyError

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Fri Nov 11 10:46:38 UTC 2016


Alan,

I've looked through the current thread and also review thread [1] for 
original change (8165793), but haven't found any discussion why making 
it static (instead of instance final) is undesirable.

Can you shed some light on it? Is it mainly usability concern 
(loader.isParallelCapable() vs ClassLoader.isParallelCapable(loader))?

Best regards,
Vladimir Ivanov

[1] 
http://mail.openjdk.java.net/pipermail/core-libs-dev/2016-October/044060.html

On 11/10/16 7:59 PM, Alan Bateman wrote:
>
>
> On 10/11/2016 17:42, David M. Lloyd wrote:
>> My original suggestion for the method was to make it static, and
>> possibly even caller-sensitive, for just this reason.
> Changing it to be non-final looks reasonable here, the main reason being
> that it's a no-arg isXXXX method and so unlikely that there are custom
> class loaders that have a method with this name that returns something
> other than boolean. However the modifier might be a concern and so time
> will tell if there are custom class loaders that defining a non-public
> no-arg method with this name.
>
> -Alan


More information about the core-libs-dev mailing list