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

Martin Buchholz martinrb at google.com
Fri Jul 24 02:49:08 UTC 2020


I'm happy with this change whether or not the slightly more evocative
"protected" is used.

On Thu, Jul 23, 2020 at 5:43 PM Joe Darcy <joe.darcy at oracle.com> wrote:
>
> 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