LINUX.ORG.RU

История изменений

Исправление hummer, (текущая версия) :

Ну подавить это предупреждение недолго.

Как и страусу зарыть голову в песок.

А так - на такое ТЗ результат ХЗ

А всё из-за этого самого type erasure в дженериках.

Class<?> не предназначен для такого и нет смысла его так использовать.

Не Class<?>, а Class<T>.

А с методом включения нескольких классов в один класслоадер появляется прям очень много других весёлых проблем.

Речь о нескольких версиях одного и того же класса и разумеется в разных класслоадерах.

На всякий случай сообщу, что если очень хочется, то иерархические класслоадеры в жаве существуют фиг знает сколько десятков лет и никакой принципиальной проблемы наколхозить такую систему нет. И модули тут не нужны.

Как раз таки нужны, потому что они предоставляют изоляцию. Более того, изначально они именно такими, многоверсионным, и задумывались, но идею сначала слишком усложнили, а затем, столкнувшись с проблемой разрешения версий во время загрузки решили от неё вовсе отказаться. При этом некоторые атавизмы изначальной идеи там всё таки остались - версии у модулей есть, но указать их в зависимостях модуля или загрузить больше одной в modulepath нельзя. Вот послушай одного из авторов этого безобразия и о том, как он предлагает извращаться чтобы как-то побороть:

https://www.youtube.com/watch?v=aw6YJLJG5hw

В конце он просит публику написать вокруг всего этого какой-то фреймворк, который сам не осилил, чтобы можно было пользоваться не только на лекциях для гиков, но и в реальном продакшене.

Исправление hummer, :

Ну подавить это предупреждение недолго.

Как и страусу зарыть голову в песок.

А так - на такое ТЗ результат ХЗ

А всё из-за этого самого type erasure в дженериках.

Class<?> не предназначен для такого и нет смысла его так использовать.

Не Class<?>, а Class<T>.

А с методом включения нескольких классов в один класслоадер появляется прям очень много других весёлых проблем.

Речь о нескольких версиях одного и того же класса и разумеется в разных класслоадерах.

На всякий случай сообщу, что если очень хочется, то иерархические класслоадеры в жаве существуют фиг знает сколько десятков лет и никакой принципиальной проблемы наколхозить такую систему нет. И модули тут не нужны.

Как раз таки нужны, потому что они предоставляют изоляцию. Более того, изначально они именно такими и задумывали, но идею сначала слишком усложнили, а затем, столкнувшись с проблемой разрешения версий во время загрузки решили от неё вовсе отказаться. При этом некоторые атавизмы изначальной идеи там всё таки остались - версии у модулей есть, но указать их в зависимостях модуля или загрузить больше одной в modulepath нельзя. Вот послушай одного из авторов этого безобразия и о том, как он предлагает извращаться чтобы как-то побороть:

https://www.youtube.com/watch?v=aw6YJLJG5hw

В конце он просит публику написать вокруг всего этого какой-то фреймворк, который сам не осилил, чтобы можно было пользоваться не только на лекциях для гиков, но и в реальном продакшене.

Исходная версия hummer, :

Ну подавить это предупреждение недолго.

Как и страусу зарыть голову в песок.

А так - на такое ТЗ результат ХЗ

А всё из-за этого самого type erasure в дженериках.

Class<?> не предназначен для такого и нет смысла его так использовать.

Не Class<?>, а Class.

А с методом включения нескольких классов в один класслоадер появляется прям очень много других весёлых проблем.

Речь о нескольких версиях одного и того же класса и разумеется в разных класслоадерах.

На всякий случай сообщу, что если очень хочется, то иерархические класслоадеры в жаве существуют фиг знает сколько десятков лет и никакой принципиальной проблемы наколхозить такую систему нет. И модули тут не нужны.

Как раз таки нужны, потому что они предоставляют изоляцию. Более того, изначально они именно такими и задумывали, но идею сначала слишком усложнили, а затем, столкнувшись с проблемой разрешения версий во время загрузки решили от неё вовсе отказаться. При этом некоторые атавизмы изначальной идеи там всё таки остались - версии у модулей есть, но указать их в зависимостях модуля или загрузить больше одной в modulepath нельзя. Вот послушай одного из авторов этого безобразия и о том, как он предлагает извращаться чтобы как-то побороть:

https://www.youtube.com/watch?v=aw6YJLJG5hw

В конце он просит публику написать вокруг всего этого какой-то фреймворк, который сам не осилил, чтобы можно было пользоваться не только на лекциях для гиков, но и в реальном продакшене.