LongAdder — это класс, оптимизированный для высокопроизводительного параллельного суммирования значений типа
long.LongAdder применяется в многопоточных приложениях, когда нужно эффективно подсчитать сумму или другое агрегатное значение из нескольких потоков.
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему Map — это не Collection, в то время как List и Set являются Collection?
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
В данной статье автор рассказывает, как пережив несколько проектов, на которых встречается стек PostgreSQL с использованием связки PostgreSQL + JPA, ему удалось устранить большое количество проблем, связанных с неоптимальной интеграцией функциональности PostgresSQL в Java-приложения.
Благодаря статье вы узнаете, как можно настроить JPA для эффективной работы с PostgreSQL.
Ссылка на статью — КЛИК
Please open Telegram to view this post
VIEW IN TELEGRAM
Что означает перегрузка метода в Java (overload)?
Anonymous Quiz
16%
Изменение поведения метода класса относительно родительского
2%
Изменение поведения метода класса относительно дочернего
79%
Несколько методов с одинаковым названием, но разным набором параметров
3%
Несколько разных классов с одинаковым методо
Давненько не было подробных разборов на канале, поэтому держите — «HashMap в Java»: что это такое и с чем его едят?
HashMap — это структура данных, основанная на хэш-таблицах, реализующая интерфейс Map и позволяющая хранить пары «ключ-значение»
❕ Ключ — это уникальный идентификатор, а значение — объект, связанный с этим ключом.
Допустим, перед нами стоит задача создать список, где будут храниться ФИО человека и номер его паспорта:
Создадим новую «мапу», в которой элементы будут храниться в формате «число-строка». Число будет выступать ключом (тип Integer), а строка — значением (тип String).
HashMap<Integer, String> passportsAndNames = new HashMap<>();
Во-первых, ключ в HashMap всегда является уникальным, а это значит, что номер паспорта не будет иметь повторов. ФИО у разных людей могут повторяться и страшного в этом ничего нет, поэтому строка с ФИО — это значение.
Добавим несколько новых пар в HashMap:
passportsAndNames.put(111222, "Иванов Иван Иванович");
passportsAndNames.put(123123, "Сергеев Сергей Сергеевич");
System.out.println(passportsAndNames);
Вывод будет выглядеть так:
// {111222=Иванов Иван Иванович, 123123=Сергеев Сергей Сергеевич}Во второй части поговорим об особенностях HashMap и полезных методах, которые очень часто используется при работе с этой структурой данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣47😁7 3❤1👍1
Как проверить, что ключи уникальны? Добавим новый элемент в «мапу» с уже имеющимся ключом:
passportsAndNames.put(111222, "Иванов Иван Иванович");
passportsAndNames.put(123123, "Сергеев Сергей Сергеевич");
passportsAndNames.put(111222, "Михалков Михаил Михайлович");
System.out.println(passportsAndNames);
В этом случае предыдущий элемент будет перезаписан:
// {123123=Сергеев Сергей Сергеевич, 111222=Михалков Михаил Михайлович}Ключ нельзя получить по значению, ведь значения могут повторяться. Поэтому доступ к значениям в HashMap осуществляется по ключу:
String person = passportsAndNames.get(123123);
System.out.println(person);
passportsAndNames.remove(123123);
System.out.println(passportsAndNames);
С помощью метода
get() и remove() мы можем получать и удалять элементы из «мапы». Обратите внимание, что получение/удаление пары происходит именно по ключу. Как проверить, содержит ли HashMap ключ/значение? Для этого существуют методы
containsKey() и containsValue():System.out.println(passportsAndNames.containsKey(111222));
System.out.println(passportsAndNames.containsValue("Михайлов Тимур Иванович"));
containsKey() проверяет наличие по ключу, а containsValue() — по значению. В результате получим:// Вывод: true false
В следующей, заключительной части мы рассмотрим ещё несколько интересных возможностей HashMap, которые будут полезны любому разработчику.
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое ковариантность типов?
Ответ:
В Java ковариантность типов используется в отношении наследования и переопределения методов. Когда метод в подклассе имеет возвращаемый тип, который является производным от возвращаемого типа метода в суперклассе, то этот тип считается ковариантным.
Please open Telegram to view this post
VIEW IN TELEGRAM
Spring и Hibernate — два популярных инструмента для Java, которые используются в разработке приложений.
В данной статье мы исследуем их основные функции и особенности, как они работают вместе и почему так высоко ценятся в IT-индустрии.
Ссылка на статью — КЛИК
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9 9💯1
❤1
Если вы ещё не читали 1 и 2 часть, то вот они:
— Часть №1
— Часть №2
Сегодня мы пойдем дальше и первым делом узнаем, как получить ключи и значения по отдельности:
passportsAndNames.put(111222, "Иванов Иван Иванович");
passportsAndNames.put(123123, "Сергеев Сергей Сергеевич");
Set<Integer> keys = passportsAndNames.keySet();
System.out.println("Ключи: " + keys);
ArrayList<String> values = new ArrayList<>(passportsAndNames.values());
System.out.println("Значения: " + values);
Ключи: [111222, 123123]
Значения: [Иванов Иван Иванович, Сергеев Сергей Сергеевич]
size() — возвращает число элементов в словаре на текущий момент:System.out.println(passportsAndNames.size());
// Output: 2
isEmpty() — проверяет, есть ли в HashMap хотя бы один элемент:if (!passportsAndNames.isEmpty()) {
System.out.println(passportsAndNames);
}
// Output: {111222=Иванов Иван Иванович, 123123=Сергеев Сергей Сергеевич}clear() — удаляет все элементы:passportsAndNames.clear();
System.out.println(passportsAndNames);
// Output: {}
putAll():HashMap<Integer, String> passportsAndNames = new HashMap<>();
HashMap<Integer, String> passportsAndNames2 = new HashMap<>();
passportsAndNames.put(111222, "Иванов Иван Иванович");
passportsAndNames.put(123123, "Сергеев Сергей Сергеевич");
passportsAndNames2.put(333333, "Максимов Максим Максимович");
passportsAndNames2.put(555555, "Андреев Андрей Андреевич");
passportsAndNames.putAll(passportsAndNames2);
System.out.println(passportsAndNames);
// {111222=Иванов Иван Иванович, 123123=Сергеев Сергей Сергеевич, 333333=Максимов Максим Максимович, 555555=Андреев Андрей Андреевич}
100
Please open Telegram to view this post
VIEW IN TELEGRAM
Можно ли считать Final переменную константой?
Ответ:
Если тип данных, на который ссылается переменная — immutable, то да, это константа.
А если тип данных mutable, то есть изменяемый, при помощи методов и переменных можно будет изменить значение объекта, на который ссылается final переменная, и в таком случае назвать ее константой нельзя.
Так вот, на примере видно, что часть финальных переменных действительно константы, а часть — нет, и их можно изменить.
Please open Telegram to view this post
VIEW IN TELEGRAM
Размышляете над тем, какой фреймворк освоить, чтобы стать полноценным специалистом?
В нашем распоряжении десятки фреймворков, но не обязательно знакомиться со всеми. Какие-то вы начнете изучать по мере необходимости, но есть ряд фреймворков, подлежащих освоению в первую очередь, например Spring и Hibernate.
Ссылка на статью — КЛИК
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁52 11🤣9❤4
Данный код позволяет сгенерировать случайный уникальный идентификатор с помощью класса
java.util.UUID.Для удаления знака тире "-" из уникального идентификатора воспользуемся методом
replace():String uuidString = uuid.toString().replace("-", "");
System.out.println("UUID: " + uuidString);
// b80ecc19ac5a4e299a7ffb4a6a4a0264Please open Telegram to view this post
VIEW IN TELEGRAM
❤66 8💯2
🤣41 23😁6👍2
Благодаря этой статье вы узнаете, как подключить и настроить Liquibase в Spring Boot приложении, сгенерировать скрипты инициализации и миграции схемы БД, а также дополнить уже существующие changelog файлы новыми скриптами миграции.
Ссылка на статью — КЛИК
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12 7💯4👍1
Что такое JAXP?
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM