Media is too big
VIEW IN TELEGRAM
Вопросы с senior java интервью [1/3]
Тайм-коды:
0:00 - Вступление
0:25 - Эти вопросы реально спрашивают
0:52 - Как устроен ролик
1:53 - Примитивы и доступ по значению (доступ всегда по значению)
3:53 - Пример с Boolean, который был несколько раз
4:58 - Хэш мапа и equals
6:00 - Как сломать мапу мутабельным ключом
7:30 - Плохое распределение хэшей
11:36 - Фреймворк коллекций (Collection framework)
12:30 - Устройство листов, почему linkedlist не используют в проде
13:50 - Иерархия исключений
14:48 - Optional и хитрости работы с ними
16:50 - Thread-local и то как его использовать
17:50 - Наследуемый Thread-local
19:20 - Стримы и примитивные стримы
22:25 - Хитрости try-catch-finally
23:38 - Try-with resource, Autoclosable
25:15 - Conditionalы, как создать свой стартер, логика конфигураций
28:05 - Жизненный цикл бинов, логика создания объектов
30:14 - Докер и зачем он нужен
источник
👉@BookJava
Тайм-коды:
0:00 - Вступление
0:25 - Эти вопросы реально спрашивают
0:52 - Как устроен ролик
1:53 - Примитивы и доступ по значению (доступ всегда по значению)
3:53 - Пример с Boolean, который был несколько раз
4:58 - Хэш мапа и equals
6:00 - Как сломать мапу мутабельным ключом
7:30 - Плохое распределение хэшей
11:36 - Фреймворк коллекций (Collection framework)
12:30 - Устройство листов, почему linkedlist не используют в проде
13:50 - Иерархия исключений
14:48 - Optional и хитрости работы с ними
16:50 - Thread-local и то как его использовать
17:50 - Наследуемый Thread-local
19:20 - Стримы и примитивные стримы
22:25 - Хитрости try-catch-finally
23:38 - Try-with resource, Autoclosable
25:15 - Conditionalы, как создать свой стартер, логика конфигураций
28:05 - Жизненный цикл бинов, логика создания объектов
30:14 - Докер и зачем он нужен
источник
👉@BookJava
👍9❤1👎1😁1
Media is too big
VIEW IN TELEGRAM
Вопросы с senior java интервью [2/3]
Тайм-коды:
0:00 - Вступление
0:15 - Как устроено это видео
0:34 - Обратная связь
0:56 - Эти вопросы реально спрашивают
1:15 - Новый формат видео, интерактив
1:50 - Про бины, конфигурации, контексты, скоупы
2:50 - Популярный вопрос про скоупы бинов и что они дают
5:33 - Прокси, AOP
8:08 - Как работает аннотация transactional под капотом
9:46 - Как использовать транзакции в приватных методах
11:13 - Self-inject на примере
12:05 - Проблемы долгих транзакций
13:26 - Ивенты и обработчики в спринге
14:02 - Простейший листенер встроенных ивентов
16:03 - Сборщики maven и другие, общие слова и bom как способ управления версиями
18:05 - Многопоточка
18:30 - Классическая проблема суммы
19:20 - Проблемы тестирования многопоточки
20:10 - Добавляем volatile, почему не поможет
21:40 - Atomic*, cas алгоритмы
22:38 - Зачем реально volatile, happens before
23:54 - Способы запуска потоков, в чем разница
24:50 - Порядок не гарантирован
источник
👉@BookJava
Тайм-коды:
0:00 - Вступление
0:15 - Как устроено это видео
0:34 - Обратная связь
0:56 - Эти вопросы реально спрашивают
1:15 - Новый формат видео, интерактив
1:50 - Про бины, конфигурации, контексты, скоупы
2:50 - Популярный вопрос про скоупы бинов и что они дают
5:33 - Прокси, AOP
8:08 - Как работает аннотация transactional под капотом
9:46 - Как использовать транзакции в приватных методах
11:13 - Self-inject на примере
12:05 - Проблемы долгих транзакций
13:26 - Ивенты и обработчики в спринге
14:02 - Простейший листенер встроенных ивентов
16:03 - Сборщики maven и другие, общие слова и bom как способ управления версиями
18:05 - Многопоточка
18:30 - Классическая проблема суммы
19:20 - Проблемы тестирования многопоточки
20:10 - Добавляем volatile, почему не поможет
21:40 - Atomic*, cas алгоритмы
22:38 - Зачем реально volatile, happens before
23:54 - Способы запуска потоков, в чем разница
24:50 - Порядок не гарантирован
источник
👉@BookJava
👍1
Java. Алгоритм генерации фрактального шума.
В этом видео рассказывается о том, что такое фрактальный шум, и для чего он применяется. В частности, речь идет о процедурной генерации изображений.
Разбираем простой алгоритм генерации фрактального шума и пишем его реализацию на языке программирования Java. Так же в процессе написания кода затрагивается алгоритм билинейной интерполяции, который необходим для реализации базового шума.
https://www.youtube.com/watch?v=a-j8vgLfUqA
👉@BookJava
В этом видео рассказывается о том, что такое фрактальный шум, и для чего он применяется. В частности, речь идет о процедурной генерации изображений.
Разбираем простой алгоритм генерации фрактального шума и пишем его реализацию на языке программирования Java. Так же в процессе написания кода затрагивается алгоритм билинейной интерполяции, который необходим для реализации базового шума.
https://www.youtube.com/watch?v=a-j8vgLfUqA
👉@BookJava
YouTube
Java. Алгоритм генерации фрактального шума.
В этом видео рассказывается о том, что такое фрактальный шум, и для чего он применяется. В частности, речь идет о процедурной генерации изображений.
Разбираем простой алгоритм генерации фрактального шума и пишем его реализацию на языке программирования Java.…
Разбираем простой алгоритм генерации фрактального шума и пишем его реализацию на языке программирования Java.…
👍1
Чем отличается процесс от потока?
Процесс — экземпляр программы во время выполнения, независимый объект, которому выделены системные ресурсы (например, процессорное время и память). Каждый процесс выполняется в отдельном адресном пространстве: один процесс не может получить доступ к переменным и структурам данных другого. Если процесс хочет получить доступ к чужим ресурсам, необходимо использовать межпроцессное взаимодействие. Это могут быть конвейеры, файлы, каналы связи между компьютерами и многое другое.
Для каждого процесса ОС создает так называемое «виртуальное адресное пространство», к которому процесс имеет прямой доступ. Это пространство принадлежит процессу, содержит только его данные и находится в полном его распоряжении. Операционная система же отвечает за то, как виртуальное пространство процесса проецируется на физическую память.
Поток(thread) — определенный способ выполнения процесса, определяющий последовательность исполнения кода в процессе. Потоки всегда создаются в контексте какого-либо процесса, и вся их жизнь проходит только в его границах. Потоки могут исполнять один и тот же код и манипулировать одними и теми же данными, а также совместно использовать описатели объектов ядра, поскольку таблица описателей создается не в отдельных потоках, а в процессах. Так как потоки расходуют существенно меньше ресурсов, чем процессы, в процессе выполнения работы выгоднее создавать дополнительные потоки и избегать создания новых процессов.
👉@BookJava
Процесс — экземпляр программы во время выполнения, независимый объект, которому выделены системные ресурсы (например, процессорное время и память). Каждый процесс выполняется в отдельном адресном пространстве: один процесс не может получить доступ к переменным и структурам данных другого. Если процесс хочет получить доступ к чужим ресурсам, необходимо использовать межпроцессное взаимодействие. Это могут быть конвейеры, файлы, каналы связи между компьютерами и многое другое.
Для каждого процесса ОС создает так называемое «виртуальное адресное пространство», к которому процесс имеет прямой доступ. Это пространство принадлежит процессу, содержит только его данные и находится в полном его распоряжении. Операционная система же отвечает за то, как виртуальное пространство процесса проецируется на физическую память.
Поток(thread) — определенный способ выполнения процесса, определяющий последовательность исполнения кода в процессе. Потоки всегда создаются в контексте какого-либо процесса, и вся их жизнь проходит только в его границах. Потоки могут исполнять один и тот же код и манипулировать одними и теми же данными, а также совместно использовать описатели объектов ядра, поскольку таблица описателей создается не в отдельных потоках, а в процессах. Так как потоки расходуют существенно меньше ресурсов, чем процессы, в процессе выполнения работы выгоднее создавать дополнительные потоки и избегать создания новых процессов.
👉@BookJava
👍7👎2
Sealed классы Java в действии: создание надежных и безопасных приложений
Sealed (закрытые или запечатанные) классы были представлены в Java 15 в качестве способа ограничить иерархию наследования класса или интерфейса.
Sealed класс или интерфейс ограничивает набор классов, которые могут наследовать или реализовывать его, что может помочь предотвратить потенциальные ошибки и сделать код более удобным в сопровождении.
https://foojay.io/today/java-sealed-classes-in-action-building-robust-and-secure-applications/
👉@BookJava
Sealed (закрытые или запечатанные) классы были представлены в Java 15 в качестве способа ограничить иерархию наследования класса или интерфейса.
Sealed класс или интерфейс ограничивает набор классов, которые могут наследовать или реализовывать его, что может помочь предотвратить потенциальные ошибки и сделать код более удобным в сопровождении.
https://foojay.io/today/java-sealed-classes-in-action-building-robust-and-secure-applications/
👉@BookJava
foojay
Java Sealed Classes: Building Robust and Secure Applications
Sealed classes can help you create more robust and maintainable code by restricting the inheritance hierarchy of your classes and interfaces.
👍1
Media is too big
VIEW IN TELEGRAM
Вопросы с senior java интервью [3/3]
Тайм-коды:
0:00 - Вступление
0:15 - Содержание этого выпуска
0:42 - Обратная связь
1:07 - Как устроено это видео
1:32 - Параллельные стримы, когда они не параллельные
2:29 - Что будет при падаении операции
3:15 - Блокировки, synchronized, ReadWriteLocks, atomics
3:39 - Когда выбрать Lock
3:56 - Когда выбирать synchronized
4:25 - Когда выбирать ReadWriteLock
5:13 - Когда выбирать Atomic
5:47 - Happens before, концепция, что значит простыми словами
6:20 - Запись в final, начало потока
7:57 - Большой раздел про дедлоки
8:07 - Простейший способ получить дедлок
8:56 - Thread dump для поиска дедлоков
10:00 - Простейший анализ дампа
11:30 - Получение дедлока на CyclicBarrier
12:21 - Запаркованные треды
13:35 - Как делать вложенные блокировки правильно
14:15 - Захват вложенных блокировок через tryLock, возможный механизм предотвращения дедлока
15:34 - Ввод вывод в java. IO и NIO, различия
16:40 - Про работу с HTTP клиентами
17:05 - Про RestTemplate, самое важное что надо знать
17:44 - Про мониторинг RestTemplate
18:12 - Про разгон Http клиента, keepAlive
18:46 - Пулл потоков для клиента
19:30 - Рассказываю реальную проблему при плохой настройке
20:40 - Хитрости прокси (Spring AOP)
20:50 - Циклические зависимости - это плохо, но как это работает
22:52 - Сочетание нескольких прокси Async + Transactional, какое правило надо знать
26:40 - Вопросы на общие темы
26:50 - Какие проблемы можно встретить в логировании
27:40 - Как не завалить внешнюю систему логами
28:45 - Реальный вопрос про реализацию собственного кэша
29:35 - Проблема сампоисных кэшей
31:32 - Какие готовые решения есть для кэша, как разорвать этот вопрос
33:08 - Как вам идея для бесплатного курса по проектированию API
источник
👉@BookJava
Тайм-коды:
0:00 - Вступление
0:15 - Содержание этого выпуска
0:42 - Обратная связь
1:07 - Как устроено это видео
1:32 - Параллельные стримы, когда они не параллельные
2:29 - Что будет при падаении операции
3:15 - Блокировки, synchronized, ReadWriteLocks, atomics
3:39 - Когда выбрать Lock
3:56 - Когда выбирать synchronized
4:25 - Когда выбирать ReadWriteLock
5:13 - Когда выбирать Atomic
5:47 - Happens before, концепция, что значит простыми словами
6:20 - Запись в final, начало потока
7:57 - Большой раздел про дедлоки
8:07 - Простейший способ получить дедлок
8:56 - Thread dump для поиска дедлоков
10:00 - Простейший анализ дампа
11:30 - Получение дедлока на CyclicBarrier
12:21 - Запаркованные треды
13:35 - Как делать вложенные блокировки правильно
14:15 - Захват вложенных блокировок через tryLock, возможный механизм предотвращения дедлока
15:34 - Ввод вывод в java. IO и NIO, различия
16:40 - Про работу с HTTP клиентами
17:05 - Про RestTemplate, самое важное что надо знать
17:44 - Про мониторинг RestTemplate
18:12 - Про разгон Http клиента, keepAlive
18:46 - Пулл потоков для клиента
19:30 - Рассказываю реальную проблему при плохой настройке
20:40 - Хитрости прокси (Spring AOP)
20:50 - Циклические зависимости - это плохо, но как это работает
22:52 - Сочетание нескольких прокси Async + Transactional, какое правило надо знать
26:40 - Вопросы на общие темы
26:50 - Какие проблемы можно встретить в логировании
27:40 - Как не завалить внешнюю систему логами
28:45 - Реальный вопрос про реализацию собственного кэша
29:35 - Проблема сампоисных кэшей
31:32 - Какие готовые решения есть для кэша, как разорвать этот вопрос
33:08 - Как вам идея для бесплатного курса по проектированию API
источник
👉@BookJava
🔥7❤1👍1
Вопросы для собеседования на Java Developer
https://github.com/enhorse/java-interview/blob/master/README.md
👉@BookJava
https://github.com/enhorse/java-interview/blob/master/README.md
👉@BookJava
🔥6👍5❤1👎1
Media is too big
VIEW IN TELEGRAM
Сопоставление с шаблоном в Java — 5 примеров для занятых разработчиков
Будучи занятым разработчиком, трудно следить за новыми возможностями и глубоко понимать, где и как их можно использовать.
В этой статье блога я расскажу о 5 местах, где вы можете использовать сопоставление с шаблоном в Java, не погружаясь в тонкие детали. Когда вы решите, что готовы к дальнейшему изучению, посмотрите ссылки, включенные в эту статью.
Rus https://habr.com/ru/articles/719384/
Eng https://blog.jetbrains.com/idea/2023/02/pattern-matching-in-java-5-examples-for-busy-developers/
👉@BookJava
Будучи занятым разработчиком, трудно следить за новыми возможностями и глубоко понимать, где и как их можно использовать.
В этой статье блога я расскажу о 5 местах, где вы можете использовать сопоставление с шаблоном в Java, не погружаясь в тонкие детали. Когда вы решите, что готовы к дальнейшему изучению, посмотрите ссылки, включенные в эту статью.
Rus https://habr.com/ru/articles/719384/
Eng https://blog.jetbrains.com/idea/2023/02/pattern-matching-in-java-5-examples-for-busy-developers/
👉@BookJava
👍1
Продвинутый GraphQL со Spring Boot
В этой статье вы узнаете, как использовать Spring for GraphQL в своем приложении Spring Boot.
Spring for GraphQL — относительно новый проект. Версия 1.0 была выпущена несколько месяцев назад. До этого релиза нам приходилось подключать сторонние библиотеки, чтобы упростить реализацию GraphQL в приложении Spring Boot. Я уже описал два альтернативных решения в своих предыдущих статьях. В следующей статье вы узнаете о проекте GraphQL Java Kickstart. В другой статье вы увидите, как создавать более сложные запросы GraphQL с помощью библиотеки Netflix DGS.
Мы будем использовать очень похожую схему и модель сущностей, как и в этих двух статьях о Spring Boot и GraphQL.
Rus https://habr.com/ru/articles/720360/
Eng https://piotrminkowski.com/2023/01/18/an-advanced-graphql-with-spring-boot/
👉@BookJava
В этой статье вы узнаете, как использовать Spring for GraphQL в своем приложении Spring Boot.
Spring for GraphQL — относительно новый проект. Версия 1.0 была выпущена несколько месяцев назад. До этого релиза нам приходилось подключать сторонние библиотеки, чтобы упростить реализацию GraphQL в приложении Spring Boot. Я уже описал два альтернативных решения в своих предыдущих статьях. В следующей статье вы узнаете о проекте GraphQL Java Kickstart. В другой статье вы увидите, как создавать более сложные запросы GraphQL с помощью библиотеки Netflix DGS.
Мы будем использовать очень похожую схему и модель сущностей, как и в этих двух статьях о Spring Boot и GraphQL.
Rus https://habr.com/ru/articles/720360/
Eng https://piotrminkowski.com/2023/01/18/an-advanced-graphql-with-spring-boot/
👉@BookJava
👍5
Подборка Telegram каналов для программистов
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Чат программистов📌
https://t.me/developers_ru
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Excel лайфхак📌
https://t.me/Excel_lifehack
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Чат программистов📌
https://t.me/developers_ru
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Excel лайфхак📌
https://t.me/Excel_lifehack
👍2
Forwarded from Книги по Java | Books Java 📚
Java EE to Jakarta EE 10 Recipes: A Problem-Solution Approach for Enterprise Java 3rd Edition
Автор: Josh Juneau (2022)
Примеры в этой книге подчеркивают возможности Jakarta EE, помогая вам создавать оптимизированные и надежные приложения с использованием новейших технологий Java. Книга построена по принципу "проблема-решение", когда каждый раздел представляет распространенную проблему программирования и показывает, как решить эту проблему наилучшим образом, используя новейшие возможности Jakarta EE. Решения представлены в виде рабочих примеров кода, которые вы можете загрузить и сразу же использовать в своих собственных проектах. Даются четкие описания, которые помогут вам понять и научиться строить дальнейшие решения.
Скачать
👉 @java_360
Автор: Josh Juneau (2022)
Примеры в этой книге подчеркивают возможности Jakarta EE, помогая вам создавать оптимизированные и надежные приложения с использованием новейших технологий Java. Книга построена по принципу "проблема-решение", когда каждый раздел представляет распространенную проблему программирования и показывает, как решить эту проблему наилучшим образом, используя новейшие возможности Jakarta EE. Решения представлены в виде рабочих примеров кода, которые вы можете загрузить и сразу же использовать в своих собственных проектах. Даются четкие описания, которые помогут вам понять и научиться строить дальнейшие решения.
Скачать
👉 @java_360
👍4👏2
Объясните разницу между Linkedlist и Arraylist.
ArrayList — это реализация интерфейса List, основанная на массиве. ArrayList внутренне обрабатывает изменение размера этого массива при добавлении или удалении элементов. Вы можете получить доступ к его элементам за константное время по их индексу в массиве. Однако вставка или удаление элемента подразумевает сдвиг всех последующих элементов, что может быть медленным, если массив огромен, а вставленный или удаленный элемент находится близко к началу списка.
LinkedList — это двусвязный список: отдельные элементы помещаются в объекты Node (узел), которые имеют ссылки на предыдущий и следующий Node. Эта реализация может оказаться более эффективной, чем ArrayList, если у вас много вставок или удалений в разных частях списка, особенно если список большой.
Однако в большинстве случаев ArrayList превосходит LinkedList. Даже перемещение элементов в ArrayList, хотя и является операцией O(n), реализовано в виде очень быстрого вызова System.arraycopy(). Это может даже оказаться быстрее, чем O(1) вставка в LinkedList, которая требует создания экземпляра объекта Node и обновления нескольких ссылок под капотом. LinkedList также может иметь большие накладные расходы памяти из-за создания нескольких небольших Node объектов.
👉@BookJava
ArrayList — это реализация интерфейса List, основанная на массиве. ArrayList внутренне обрабатывает изменение размера этого массива при добавлении или удалении элементов. Вы можете получить доступ к его элементам за константное время по их индексу в массиве. Однако вставка или удаление элемента подразумевает сдвиг всех последующих элементов, что может быть медленным, если массив огромен, а вставленный или удаленный элемент находится близко к началу списка.
LinkedList — это двусвязный список: отдельные элементы помещаются в объекты Node (узел), которые имеют ссылки на предыдущий и следующий Node. Эта реализация может оказаться более эффективной, чем ArrayList, если у вас много вставок или удалений в разных частях списка, особенно если список большой.
Однако в большинстве случаев ArrayList превосходит LinkedList. Даже перемещение элементов в ArrayList, хотя и является операцией O(n), реализовано в виде очень быстрого вызова System.arraycopy(). Это может даже оказаться быстрее, чем O(1) вставка в LinkedList, которая требует создания экземпляра объекта Node и обновления нескольких ссылок под капотом. LinkedList также может иметь большие накладные расходы памяти из-за создания нескольких небольших Node объектов.
👉@BookJava
👍6
Отличие интерфейса Runnable и Callable?
• Интерфейс Runnable появился в Java 1.0, а интерфейс Callable был введен в Java 5.0 в составе библиотеки
• Классы, реализующие интерфейс
• Метод
•
👉@BookJava
• Интерфейс Runnable появился в Java 1.0, а интерфейс Callable был введен в Java 5.0 в составе библиотеки
java.util.concurrent
;• Классы, реализующие интерфейс
Runnable
для выполнения задачи должны реализовывать метод run()
. Классы, реализующие интерфейс Callable
- метод call()
;• Метод
Runnable.run()
не возвращает никакого значения, Callable.call()
возвращает объект Future
, который может содержать результат вычислений;•
Метод run()
не может выбрасывать проверяемые исключения, в то время как метод call()
может.👉@BookJava
👍8
Подборка GitHub-репозиториев для Java-разработчиков
Java Design Patterns - то типовые и повторно используемые шаблоны для решения частых проблем в проектировании приложений.
https://github.com/iluwatar/java-design-patterns
Realworld – это GitHub-репозиторий, с которым нужно ознакомиться всем разработчикам, особенно Full-stack.
https://github.com/gothinkster/realworld
Algorithms - правильные алгоритмы позволяют улучшить производительность приложения.
https://github.com/TheAlgorithms/Java
Awesome Java - есть практически все по Java, а сам материал подается в форме справочника.
https://github.com/akullpp/awesome-java
RxJava Android Samples – это реализация Java ReactiveX, в которой реактивное программирование предлагается через наблюдаемые объекты (Observables).
https://github.com/kaushikgopal/RxJava-Android-Samples
👉@BookJava
Java Design Patterns - то типовые и повторно используемые шаблоны для решения частых проблем в проектировании приложений.
https://github.com/iluwatar/java-design-patterns
Realworld – это GitHub-репозиторий, с которым нужно ознакомиться всем разработчикам, особенно Full-stack.
https://github.com/gothinkster/realworld
Algorithms - правильные алгоритмы позволяют улучшить производительность приложения.
https://github.com/TheAlgorithms/Java
Awesome Java - есть практически все по Java, а сам материал подается в форме справочника.
https://github.com/akullpp/awesome-java
RxJava Android Samples – это реализация Java ReactiveX, в которой реактивное программирование предлагается через наблюдаемые объекты (Observables).
https://github.com/kaushikgopal/RxJava-Android-Samples
👉@BookJava
👍2
Мечтали о космосе, а работаете в опенспейсе?
Мы тоже… Но мечты же должны сбываться! Поэтому мы создали свои мультивселенные и решили провести там настоящие соревнования по спортивному хакингу IT’s Tinkoff CTF.
Путешественников ждут 30 порталов в новые измерения. Там предстоит пройти миссии, набрать максимальное количество баллов и, конечно, разгадать все пасхалки.
Задания будут интересны разработчикам, SRE- и QA-инженерам, аналитикам и другим ИТ-специалистам. А еще вы сможете потренироваться на тестовых заданиях и выбрать лигу по своим скиллам.
Лучшим командам — вселенский почет и денежные призы до 360 000 рублей!
Покорять мультивселенные отправимся 15 и 16 июля. Участвовать можно онлайн и очно в 14 ИТ-хабах Тинькофф по всей России. Офлайн-участников ждут квизы, настолки, крутой мерч и нетворкинг с экспертами.
🚀Переходите на IT’s Tinkoff CTF, читайте подробности и регистрируйтесь!
Да пребудут с вами силы мультивселенной капибары!
(Упс… кажется, мы спалили первую пасхалку, Хьюстон)
Ерид: LdtCKZmzw
Мы тоже… Но мечты же должны сбываться! Поэтому мы создали свои мультивселенные и решили провести там настоящие соревнования по спортивному хакингу IT’s Tinkoff CTF.
Путешественников ждут 30 порталов в новые измерения. Там предстоит пройти миссии, набрать максимальное количество баллов и, конечно, разгадать все пасхалки.
Задания будут интересны разработчикам, SRE- и QA-инженерам, аналитикам и другим ИТ-специалистам. А еще вы сможете потренироваться на тестовых заданиях и выбрать лигу по своим скиллам.
Лучшим командам — вселенский почет и денежные призы до 360 000 рублей!
Покорять мультивселенные отправимся 15 и 16 июля. Участвовать можно онлайн и очно в 14 ИТ-хабах Тинькофф по всей России. Офлайн-участников ждут квизы, настолки, крутой мерч и нетворкинг с экспертами.
🚀Переходите на IT’s Tinkoff CTF, читайте подробности и регистрируйтесь!
Да пребудут с вами силы мультивселенной капибары!
👍1
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Spring Security в деталях
Аутентификация - Spring Security в деталях
Получение информации о пользователе - Spring Security в деталях
Ещё один способ получения аутентифицированного пользователя #java #springsecurity
Точки входа аутентификации - Spring Security в деталях
Источники информации о пользователях - Spring Security в деталях
Устаревшие DSL в Spring Security 6.1
Отладка контекста безопасности - Spring Security в деталях
DSL и конфигураторы контекста безопасности - Spring Security в деталях
Фильтры безопасности - Spring Security в деталях
источник
👉@BookJava
Аутентификация - Spring Security в деталях
Получение информации о пользователе - Spring Security в деталях
Ещё один способ получения аутентифицированного пользователя #java #springsecurity
Точки входа аутентификации - Spring Security в деталях
Источники информации о пользователях - Spring Security в деталях
Устаревшие DSL в Spring Security 6.1
Отладка контекста безопасности - Spring Security в деталях
DSL и конфигураторы контекста безопасности - Spring Security в деталях
Фильтры безопасности - Spring Security в деталях
источник
👉@BookJava
👍3