Я прочитал вопрос Иерархия загрузчиков классов в Java 9 , а также руководство по миграции на Java 9 (параграф о Изменения в Class Loader (CL) ), но все еще не получил четкую разницу междуExtension CL
и Platform CL
.Поэтому я прошу не отмечать вопрос как дубликат.
Относительно Extension CL
ясно, что благодаря принципу видимости CL он позволяет видеть все классы, загруженныеparent Bootstrap CL
.
Поскольку Java 9 Extension CL
была заменена на Platform CL
.И есть два существенных различия:
Platform CL
не является экземпляром URLClassLoader
Все классы в платформе Java SE гарантированно будутвиден через загрузчик классов платформы.Кроме того, классы в модулях, которые стандартизированы в рамках процесса сообщества Java, но не являются частью платформы Java SE, гарантированно будут видны через загрузчик классов платформы.
Iменя смущает 2 пункт.Что означает «классы в модулях, которые стандартизированы в рамках процесса сообщества Java, но не являются частью платформы Java SE» ?