Revisiting JDK-8161269
Alan Bateman
Alan.Bateman at oracle.com
Fri Sep 16 15:52:12 UTC 2016
On 16/09/2016 08:36, David M. Lloyd wrote:
>
> OK. For this issue though, would it not make sense to look at the
> null parent class loader case in a specific and separate way: in the
> past, such class loaders had access to all platform classes, so as a
> compatibility factor it would not be unreasonable to take "null" in
> this *specific* context to mean "platform class loader" and do this
> translation inside the constructor? Since the change that is really
> occurring (in any real, observable sense) is that the "null" parent is
> suddenly shrinking with respect to what it was going back far into
> history, then the _compatible_ change would appear to be to provide a
> new ClassLoader value that indicates "java.base (and optionally a few
> more modules that can decrease over time)", which in reality maps to
> the bootstrap class loader. This way compatibility is maintained, and
> the new (in the observable sense) functionality of having a more
> limited parent CL is still available.
Fair point, these constructors could be changed to translate null to the
platform class loader. That would need examination from a compatibility
point of view too (esp. getParent). It would also create anomalies with
other APIs where null is translated to the system class loader. However,
I agree it's wroth exploring.
-Alan
More information about the jigsaw-dev
mailing list