Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Что будет если загрузить два класса с одинаковым названием в системном загрузчике классов в Java?

Instance Klass Ученик (104), открыт 2 недели назад
Загрузиться ли вообще класс? Или может прошлый класс с таким названием просто перестанет использоваться и вскоре удалится сборщиком мусора?
2 ответа
Nikassaiop End Просветленный (33394) 2 недели назад
По идее более поздно объявленный перезапишет более ранний.
SchweikМыслитель (5873) 2 недели назад
Нет.
Александр Искусственный Интеллект (292665) 2 недели назад
что тебе мешает попробовать? ты же во всём тобою написанном так хорошо разбираешься... в одном пакете больше одного класса с данным именем не может быть.. по разным пакетам -- хоть до посинения создавай... один васаби, только будет использован (импортирован) по месту использования...
Instance KlassУченик (104) 2 недели назад
попробовал уже, виртуальная машина сломалась(
Schweik Мыслитель (5873) Instance Klass, > Что будет если загрузить два класса с одинаковым названием в системном загрузчике классов в Java? "Системный загрузчик классов" это что в вашем понимании? Согласно спецификации JVM есть два типа загрузчика классов - bootstrap и user-defined. Если под системным имелся в виду bootstrap: а) загрузчик сам решит что загружать б) загружает из classpath в) если в classpath есть два класса с одним именем, например, com.test.MyClass, то будет загружен тот кто первый, а второй будет проигнорирован. > Загрузиться ли вообще класс? Загрузить два класса с одинаковым именем возможно с использованием двух различных user-defined загрузчиков класса. И выгрузить класс загруженный через user-defined загрузчик тоже можно. Читайте спецификацию JVM, ознакомьтесь c OSGi - вперед, к знаниям....
Похожие вопросы