平台类加载器(Java 9+)和扩展类加载器(Java 8-)有什么区别?

时间:2019-04-07 11:31:46

标签: java classloader java-9

我已经阅读了问题Classloaders hierarchy in Java 9和Java 9迁移指南(关于Class Loader(CL) changes的段落),但是仍然没有得到Extension CLPlatform CL之间的明显区别。因此,请避免将问题标记为重复。

关于Extension CL,很明显,由于CL 可见性原则,它可以查看父Bootstrap CL加载的所有类。

自从Java 9 Extension CL被替换为Platform CL。而且有两个实质性的区别:

  1. Platform CL不是URLClassLoader的实例
  2.   

    保证Java SE平台中的所有类都可以通过平台类加载器可见。此外,通过平台类加载器,可以保证在Java Community Process下标准化但不是Java SE Platform一部分的模块中的类。

我对第二点感到困惑。

是什么意思?“在Java Community Process下标准化但不是Java SE平台一部分的模块中的类”?

0 个答案:

没有答案