Библиотека джависта | Java, Spring, Maven, Hibernate
24.9K subscribers
1.86K photos
38 videos
42 files
2.64K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
Что такое тернарный оператор выбора?

Тернарный условный оператор ?: - оператор, которым можно заменить некоторые конструкции операторов if-then-else.

Выражение записывается в следующей форме:

условие ? выражение1 : выражение2

Если условие выполняется, то вычисляется выражение1 и его результат становится результатом выполнения всего оператора. Если же условие равно false, то вычисляется выражение2 и его значение становится результатом работы оператора. Оба операнда выражение1 и выражение2 должны возвращать значение одинакового (или совместимого) типа.
👩‍💻 Мониторинг Spring Boot, Prometheus и Grafana (Docker compose)

Экспортируем метрики в Prometheus, пишем кастомные метрики с помощью Micrometr, строим дашборды в Grafana. Поднимаем это все с помощью Docker compose.

https://youtu.be/CexiiWrZESk
Please open Telegram to view this post
VIEW IN TELEGRAM
Руководство по обработке исключений в Java Stream

Друзья, вашему вниманию предлагается небольшое руководство по обработке исключений в Java Stream, из которого вы узнаете: 😃
✔️ Как обрабатывать проверяемые исключения, выбрасываемые методами из промежуточных операций в стримах
✔️ Как использовать блок try-catch в лямбда-выражениях
✔️ Как безопасно извлекать метод.

Также, даны рекомендации использовать Optional вместо выбрасывания значения null из извлекаемой функции.

Хорошей практики!

https://howtodoinjava.com/java/stream/handle-exceptions-in-stream/
#вопросы_с_собеседований
Как и когда происходит увеличение количества корзин в HashMap?

Помимо capacity у HashMap есть еще поле loadFactor, на основании которого, вычисляется предельное количество занятых корзин capacity * loadFactor. По умолчанию loadFactor = 0.75. По достижению предельного значения, число корзин увеличивается в 2 раза и для всех хранимых элементов вычисляется новое «местоположение» с учетом нового числа корзин.
#вопросы_с_собеседований
Сделайте HashMap из HashSet<Map.Entry<K, V>>.

HashMap<K, V> map = new HashMap<>(set.size());
for (Map.Entry<K, V> entry : set) {
map.put(entry.getKey(), entry.getValue());
}
#вопросы_с_собеседований
Сделайте HashSet из ключей HashMap.

HashSet<Object> set = new HashSet<>(map.keySet());
#вопросы_с_собеседований
Для чего в стримах предназначены методы flatMap(), flatMapToInt(), flatMapToDouble(), flatMapToLong()?

Метод flatMap() похож на map, но может создавать из одного элемента несколько. Таким образом, каждый объект будет преобразован в ноль, один или несколько других объектов, поддерживаемых потоком. Наиболее очевидный способ применения этой операции — преобразование элементов контейнера при помощи функций, которые возвращают контейнеры.
flatMapToInt(), flatMapToDouble(), flatMapToLong() - это аналоги flatMap(), возвращающие соответствующий числовой стрим.
Spring: новости за прошедшую неделю / 28-е февраля

Вашему вниманию предлагается информационная подборка материалов "Spring: новости за прошедшую неделю" от Джоша Лонга (Josh Long).

Приятного чтения! 😃

Читать статью
Шестнадцатеричный формат

Иногда нам нужно преобразовать строки в шестнадцатеричный формат, байты или символы. Начиная с Java 17 вы можете использовать класс HexFormat. Просто создайте экземпляр HexFormat, а затем вы можете отформатировать, например, входную таблицу byte в шестнадцатеричную строку. Вы также можете, например, преобразовать входную шестнадцатеричную строку в таблицу байтов, как показано выше.
Целью проекта Leyden является сокращение времени запуска программ, сокращение времени достижения пиковой производительности, а также сокращение занимаемой памяти Java программ.

Руководитель проекта Марк Рейнхольд недавно предложил расширить программную модель Java функциями для выборочного сдвига и ограничения вычислений с помощью "конденсоров" (condensor).

В предложенном сегодня видео Николай Парлог расскажет о будущем этого проекта.

Приятного просмотра!

https://youtu.be/QPWFjNroHls
Новость для багхантеров
Финтех-компания QIWI запустила программу Bug Bounty на платформе tumar.one. Искать уязвимости можно на доменах qiwi.com, qiwi.ru, contact-sys.com и их поддоменах, а также в мобильных приложениях QIWI. За продемонстрированные атаки на найденные уязвимости в основных сервисах компании белые хакеры могут получить денежное вознаграждение вплоть до $5 тыс. С подробными правилами участия можно ознакомиться в описании программы, предварительно пройдя регистрацию на платформе.
Скачиваем видео с Youtube

VGet позволит вам скопировать видео с YouTube, используя только URL-адрес.

Как видите, первая строка кода в блоке try просто указывает URL-адрес YouTube.

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

Далее код создает экземпляр VGet. Это рабочий класс, который будет обрабатывать процесс загрузки.

Наконец, код вызывает download() метод VGet объекта.

Подробнее ознакомиться можно здесь.
👩‍💻 GIT ДЛЯ РАЗРАБОТЧИКА. Урок по гиту для начинающих— Обзор системы контроля версий

Разбираем необходимый для каждого разработчика минимум знаний и навыков работы с git в консоли. Что такое репозиторий, коммит, ветки и конфликты при их слиянии, как с этим работать — все в одном видео: https://youtu.be/dHlhCO56Pv0
Please open Telegram to view this post
VIEW IN TELEGRAM