Size: a a a

2020 November 08

25

23 59 in pro.jvm
у меня рассыпуха ссылок.
я понял, что каждый класслоадер отвечает за определенный набор неймспейсов, сейчас пытаюсь понять, в каких случаях он решает "вот этот пакет тоже возьму себе"
источник

SP

Sam Panza in pro.jvm
23 59
у меня рассыпуха ссылок.
я понял, что каждый класслоадер отвечает за определенный набор неймспейсов, сейчас пытаюсь понять, в каких случаях он решает "вот этот пакет тоже возьму себе"
Класслоадинг точно не про пакеты, конкретизируй
источник

25

23 59 in pro.jvm
> https://www.baeldung.com/java-classloaders
> Class loaders follow the delegation model where on request to find a class or resource, a ClassLoader instance will delegate the search of the class or resource to the parent class loader.
> Let's say we have a request to load an application class into the JVM. The system class loader first delegates the loading of that class to its parent extension class loader which in turn delegates it to the bootstrap class loader.
> Only if the bootstrap and then the extension class loader is unsuccessful in loading the class, the system class loader tries to load the class itself.
источник

25

23 59 in pro.jvm
вывод про неймспейсы я сделал по двум причинам:
1. > Each ClassLoader defines a separate namespace for the classes loaded by it, so at runtime a class is uniquely identified by its package name and the ClassLoader that loaded it. A class is not visible outside its namespace; at runtime there's a protective shield between classes existing in separate namespaces.
> http://www.comscigate.com/JDJ/archives/0808/chaudhri/index.html
2. поковырял дебаггером, что будет происходить, если сделать
Kek.class.getClassLoader().getParent().loadClass("com.example.Kek"); — там лоадер проверяет, что com.example содержится в его мапке
источник

SP

Sam Panza in pro.jvm
23 59
> https://www.baeldung.com/java-classloaders
> Class loaders follow the delegation model where on request to find a class or resource, a ClassLoader instance will delegate the search of the class or resource to the parent class loader.
> Let's say we have a request to load an application class into the JVM. The system class loader first delegates the loading of that class to its parent extension class loader which in turn delegates it to the bootstrap class loader.
> Only if the bootstrap and then the extension class loader is unsuccessful in loading the class, the system class loader tries to load the class itself.
Ссылаешься на Баелдунга, выводы делаешь из совсем другого текста. СЛОЖНОВАТО
источник

A

Anton in pro.jvm
Приходилось ли кому-нибудь одновременно релизить либу и под jdk8 и под jdk11. Если да, то как вы разделяете артефакты?
источник

25

23 59 in pro.jvm
Sam Panza
Ссылаешься на Баелдунга, выводы делаешь из совсем другого текста. СЛОЖНОВАТО
вотэвер
источник

A

Anton in pro.jvm
Gradle предлагает юзать classifier, но по-моему это не супер популярная вещь
источник

SP

Sam Panza in pro.jvm
Anton
Приходилось ли кому-нибудь одновременно релизить либу и под jdk8 и под jdk11. Если да, то как вы разделяете артефакты?
Multi-release jars
источник

SP

Sam Panza in pro.jvm
23 59
вотэвер
Про неймспейсы по второй ссылке хуйня какая-то
источник

A

Anton in pro.jvm
Sam Panza
Multi-release jars
Да, я рассматривал такой вариант, но с ним в моем случае есть ряд проблем. Вариант с разными артефактами выглядит лучше
источник

SP

Sam Panza in pro.jvm
Anton
Да, я рассматривал такой вариант, но с ним в моем случае есть ряд проблем. Вариант с разными артефактами выглядит лучше
Ну вот ты и сделал правильный выбор!
источник

VP

Vladimir Petrakovich in pro.jvm
Anton
Gradle предлагает юзать classifier, но по-моему это не супер популярная вещь
Не, там можно лучше, через variants. Но готовый рецепт не подскажу, да и пользователи мавена будут в пролёте.
источник

A

Anton in pro.jvm
Sam Panza
Ну вот ты и сделал правильный выбор!
Сделал. Вопрос был как лучше разделить артефакты. Можно дописывать jdk8 в artefactId, модно в classifier, можно в version. Интересно, у кого какой опыт
источник

A

Anton in pro.jvm
Vladimir Petrakovich
Не, там можно лучше, через variants. Но готовый рецепт не подскажу, да и пользователи мавена будут в пролёте.
Это оно и есть. В поме вариант превращается в классифаер
источник

SP

Sam Panza in pro.jvm
Anton
Сделал. Вопрос был как лучше разделить артефакты. Можно дописывать jdk8 в artefactId, модно в classifier, можно в version. Интересно, у кого какой опыт
В artifactId в твоём случае. См. guice, kafka
источник

A

Anton in pro.jvm
Sam Panza
В artifactId в твоём случае. См. guice, kafka
Ок, гляну. Спасибо!
источник
2020 November 09

DK

Dmtr Klkv in pro.jvm
А дайте совет, какой  pet project сейчас на рынке может понравится нанимателю? Я читал, что если говорить о вэбе, то таск трекер на спринге, секъюрити и JPA это хороший вариант.
источник

Ф

Фёдор in pro.jvm
У Spring Framework тоже были туториалы, если не ошибаюсь
источник

А

Александр in pro.jvm
Dmtr Klkv
А дайте совет, какой  pet project сейчас на рынке может понравится нанимателю? Я читал, что если говорить о вэбе, то таск трекер на спринге, секъюрити и JPA это хороший вариант.
На бизнес логику твоей аппликухи будут смотреть в последнюю очередь
источник