JDK 16 RFR of JDK-8250240: Address use of default constructors in the java.util.concurrent

Joe Darcy joe.darcy at oracle.com
Fri Jul 24 00:43:21 UTC 2020


Hi Martin,

On 7/23/2020 5:24 PM, Martin Buchholz wrote:
> So these are all abstract classes where the constructor can only be
> called via super() ?

Yep.

> In which case one would expect the constructors to be protected, not public.
> But I'm probably missing some reason why "protected" would not be 100%
> compatible.

It would be compatible (AFAICT), but the current (implicit) default 
constructors are public, since the classes are public, so I made the new 
explicit constructors public.

On the assumption the upstream JDK 166-alpha repo would want to take in 
this change for as many releases as possible, the public constructors 
could be used for earlier release trains too.

> Historically, we've preferred to put changes in via CVS, but in 2020,
> we might prefer you make the change directly in openjdk.
> Doug?
>
I'm happy to make the changes in OpenJDK for JDK 16.

Thanks,

-Joe



More information about the core-libs-dev mailing list