Большая задача: Java коллекции
Комментарии (87)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
{Java_Shark}
9 апреля 2025, 11:20
++
0
Denis Odesskiy Full Stack Developer
9 ноября 2024, 15:56
Жаль что рефлексию в Java давно пустили под нож😰. Была такая гибкая штука, для метапрограммирования, теперь увы и ах. Зато у конкурентов, в тех же C# да и в пайтоне с этим проблем нет...
+1
AnemonExpert
5 марта 2025, 03:35
А с чего ты это вообще взял то?.. Один из популярнейших и важнейших фреймворков - легендарный Spring, невероятно широко использует рефлексию, ты о чем вообще? Откуда такие мысли? о-о
0
Denis Odesskiy Full Stack Developer
5 марта 2025, 13:11
Я это взял из многократных заявлений Oracle а также из доков и из практики, новых (и не очень уже новых, начиная с Java 9) версий Java, рефлексию сильно ограничивают как минимум, уже в последних версиях пользоваться ей так вольготно как раньше не получится. Для комфортного перехода разработчиков и особенно библиотек, делается это плавно, сначала были предупреждения, их можно было отключить, потом и это убрали (возможность отключить). Главная цель как заявляет Oracle увеличить безопасность языка и следование его канонам ООП, т.к. по их мнению рефлексия нарушает главный принцип ООП, а именно инкапсуляцию.
Попробуй рефлексией получить доступ в последних версиях Java к приватным и защищенным членам классов из других модулей например.
Помнишь была задачка где мы писали свою мапу на основе HashMap, там мы получали доступ к приватным полям через рефлексию. В новых версиях это не сработает.
Другое дело что многое можно сделать и без рефлексии и даже прозрачнее, читабельнее и производительнее будет.
Пару ссылок на стаковерфлов: https://stackoverflow.com/questions/74723932/java-17-reflection-issue?form=MG0AV3 и https://stackoverflow.com/questions/69177973/how-can-i-make-reflection-work-on-jdk-16-and-later?form=MG0AV3.
Тема обширная и разрозненная, лень шерстить всё. Если интересно поищи еще инфу сам, а лучше попробуй😉.
П/С. По Spring у тебя возможно немного устаревшая информация. Они конечно опираются на рефлексию для инжекций зависимостей и не только (опирались), но для минимизации зависимости от рефлексии (в том числе) они используют также CGLIB, ASM, AOP, Compile-time processing...
+1
Denis Odesskiy Full Stack Developer
5 марта 2025, 13:28
Уже раз коснулись безопасности. По той же причине (безопасность) начиная с Java 9 потихоньку ограничивают доступ к нативному коду😏, из-за этого и и-за ограничений рефлексии (пока надеюсь в несбыточной перспективе) могут пострадать горячо любимые мной библиотеки JNI и JNA 🙄.
Ладно, это всё нытьё, я верю что архитекторы Java идут по верному пути, и сделают всё как надо, если заберут одно, то дадут нам в замену еще более лучший инструмент (наивно улыбаясь...)
+1
AnemonExpert
7 марта 2025, 12:59
Хорошо, поверю в твои доводы. Моя не особо тщательная проверка и поиск информации показали что всё работает, в том числе на 17 джаве, и я никогда не видел инфу об ограничении рефлексии, плюс знал что на ней работает Спринг и многие библиотеки. Но буду надеяться на то же что и ты, пускай джава развивается и становится лучше. Чем она будет надёжнее и безопаснее, тем будет надёжнее наша работа с крупными компаниями, которым как раз это и нужно для огромных серверных приложений.
+1
Codemilexteacher в Тесла клуб юных инже
8 ноября 2024, 10:23
HashMapReflectionHelper в задаче 5 - не ясно откуда взять.
0
Denis Odesskiy Full Stack Developer
7 ноября 2024, 16:49
Я всё понял! Разработчики котлина видимо учились тут, начали с собственной реализации коллекций в этой задачи, а потом так понравилось, что не смогли остановиться...😅
+1
SomeBody098веник в бане
13 октября 2024, 17:26
ну ОК
0
Андрей
30 апреля 2024, 11:04
я так понимаю в конце будем писать свой компилятор джавы и сравнивать с существующим
+2
Ольга Николенко
8 декабря 2023, 02:49
Блин, у меня пропустило решение с ошибкой в одной из первых задач и я промучилась кучу времени на предпоследней, не принимало верное решение 🐸
0
Антон
3 ноября 2023, 16:36
Задача на редкость хороша.
0
PhanSca
17 мая 2023, 09:09
Отличная задача - побольше бы таких.
+1
StrangeAngel
25 апреля 2023, 18:31
Интересная тема, заодно сериализацию вспомнил.
0