Java Developer – Telegram
Java Developer
15.8K subscribers
1.85K photos
135 videos
2 files
2.06K links
Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GHfTK

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
🔥 Полезные книги для Java-разработчика

В сегодняшнем посте я собрал для вас подборку книг, которые пригодятся как начинающему Java-разработчику, так и опытному:

🟣 Философия Java
🟣 Изучаем Java
🟣 Spring в действии
🟣 Грокаем алгоритмы
🟣 Чистый код
🟣 Паттерны ООП

➡️ Java Developer | #books
Please open Telegram to view this post
VIEW IN TELEGRAM
206
3
Что выведет код сверху?
Anonymous Quiz
14%
95 96 a b c
3%
95 96
19%
a b c
64%
Ничего
29🤣143
👩‍💻 Spring Cloud Config и Git. Хранение и распространение конфигураций приложений

В данной статье автор делится своим подходом к конфигурации Spring Boot приложений в облаке, где файлы конфигураций приложений находятся в Git репозитории, и который автор применяет в работе и считает одним из самых простых, удобных и легко поддерживаемых.

Ссылка на статью — КЛИК

➡️ Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
32
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣72204😁3
👩‍💻 Метод String.replace()

replace() — метод, использующийся для замены всех вхождений указанного символа (oldChar) в строке на новый символ (newChar).

Синтаксис метода выглядит следующим образом:
public String replace(char oldChar, char newChar)


Метод replace() возвращает новую строку, в которой произведены замены. Оригинальная строка остается неизменной.

➡️ Java Developer | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
129
Вопрос с собеседования

Может ли Enum реализовывать (implement) интерфейс?

Ответ: Да, в Java Enum может реализовывать (implement) интерфейс. Это означает, что каждая константа Enum будет иметь реализацию методов этого интерфейса.

➡️ Java Developer | #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
3477
👩‍💻 Микросервисы на Java: практическое руководство

Вы можете использовать это руководство, чтобы понять что такое Java микросервисы, как вы будете их разрабатывать и создавать. А также получить обзор библиотек для разработки Java микросервисов.

Ссылка на статью КЛИК

➡️ Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
9
Если кто-то не знал — у нас есть 2 крутейших канала для любого айтишника:

CodeLang | Английский в IT — поможет изучить английский язык в IT сфере

Библиотека Кодера — полезные книги, шпаргалки, статьи и материалы для любого разработчика
1
👩‍💻 LongAdder

LongAdder — это класс, оптимизированный для высокопроизводительного параллельного суммирования значений типа long.

LongAdder применяется в многопоточных приложениях, когда нужно эффективно подсчитать сумму или другое агрегатное значение из нескольких потоков.

➡️ Java Developer | #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
86
Вопрос с собеседования

Почему Map — это не Collection, в то время как List и Set являются Collection?

Ответ: Collection представляет собой совокупность некоторых элементов. Map — это совокупность пар «ключ-значение».

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
2672👍1
👩‍💻 Как расширить JPA для работы с PostgreSQL?

В данной статье автор рассказывает, как пережив несколько проектов, на которых встречается стек PostgreSQL с использованием связки PostgreSQL + JPA, ему удалось устранить большое количество проблем, связанных с неоптимальной интеграцией функциональности PostgresSQL в Java-приложения.

Благодаря статье вы узнаете, как можно настроить JPA для эффективной работы с PostgreSQL.

Ссылка на статью КЛИК

➡️ Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
102💯1
👩‍💻 HashMap в Java (Часть 1)

Давненько не было подробных разборов на канале, поэтому держите — «HashMap в Java»: что это такое и с чем его едят?

HashMap — это структура данных, основанная на хэш-таблицах, реализующая интерфейс Map и позволяющая хранить пары «ключ-значение»

Ключ — это уникальный идентификатор, а значение — объект, связанный с этим ключом.


Допустим, перед нами стоит задача создать список, где будут храниться ФИО человека и номер его паспорта:

Создадим новую «мапу», в которой элементы будут храниться в формате «число-строка». Число будет выступать ключом (тип Integer), а строка — значением (тип String).
HashMap<Integer, String> passportsAndNames = new HashMap<>();


Почему для решения этой задачи отлично подходит HashMap?

Во-первых, ключ в HashMap всегда является уникальным, а это значит, что номер паспорта не будет иметь повторов. ФИО у разных людей могут повторяться и страшного в этом ничего нет, поэтому строка с ФИО — это значение.

Добавим несколько новых пар в HashMap:
passportsAndNames.put(111222, "Иванов Иван Иванович");
passportsAndNames.put(123123, "Сергеев Сергей Сергеевич");

System.out.println(passportsAndNames);


Вывод будет выглядеть так:
// {111222=Иванов Иван Иванович, 123123=Сергеев Сергей Сергеевич}


Во второй части поговорим об особенностях HashMap и полезных методах, которые очень часто используется при работе с этой структурой данных.

🕺 — если было полезно

➡️ Java Developer | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
12353
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣47😁731👍1
👩‍💻 HashMap в Java (Часть 2)

Как проверить, что ключи уникальны? Добавим новый элемент в «мапу» с уже имеющимся ключом:
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, которые будут полезны любому разработчику.

🕺 — и я выпускаю 3 часть

➡️ Java Developer | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
1003
Вопрос с собеседования

Что такое ковариантность типов?

Ответ: Ковариантность типов — это свойство некоторых языков, которое позволяет использовать производный тип вместо базового типа в контексте, где ожидается базовый тип. Другими словами, ковариантность позволяет использовать объекты производных классов там, где требуется объект базового класса.

В Java ковариантность типов используется в отношении наследования и переопределения методов. Когда метод в подклассе имеет возвращаемый тип, который является производным от возвращаемого типа метода в суперклассе, то этот тип считается ковариантным.


➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
315
👩‍💻 Spring и Hibernate простыми словами: обзор для новичков

Spring и Hibernate — два популярных инструмента для Java, которые используются в разработке приложений.

В данной статье мы исследуем их основные функции и особенности, как они работают вместе и почему так высоко ценятся в IT-индустрии.

Ссылка на статью — КЛИК

➡️ Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
99💯1
5
Что выведет код сверху?
Anonymous Quiz
23%
0
58%
100
6%
200
12%
Ошибка компиляции
1
👩‍💻 HashMap в Java (Часть 3)

Если вы ещё не читали 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);


Ключи извлекаются в коллекцию Set, а значения — в ArrayList. Стоит знать ещё и то, что в Set не может быть повторяющихся элементов.

Ключи: [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 🕺 и я разбираю другую тему

➡️ Java Developer | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
1551