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

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

Для обратной связи: @proglibrary_feeedback_bot

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

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
Пишем простую интеграцию с GitHub используя feign и jsonschema2pojo maven plugin

В эпоху микросервисов приходится все чаще и чаще писать интеграции для их взаимодействия как между собой, так и со сторонними системами. Кто-то создаёт отдельные библиотеки с интеграцией и переиспользует их в нескольких микросервисах, кто-то захламляет проект огромным количеством POJO классов, некоторые же создают один POJO класс с множеством вложенных классов. В этой статье автор делится подходом, используя который вы сможете спрятать большую часть кода, которая мешает чтению и пониманию проекта.

Читать статью
Пробовали ли программировать на планшете?
#интерактив
IdentityHashMap

Класс IdentityHashMap в Java является реализацией интерфейса Map и работает на основе проверки на равенство ссылок объектов, а не на основе метода equals.

Это означает, что если два объекта, хранящихся в IdentityHashMap, содержат одинаковые значения полей, но разные ссылки, то они будут считаться разными ключами.

IdentityHashMap может быть полезной альтернативой для HashMap в тех случаях, когда ключом является объект, и необходимо учесть различие между ссылками на объект.
#код
Очередной #дайджест по Java:

Создание и тестирование gRPC сервиса (Spring Boot приложение)
Как создать и протестировать gRPC-сервис в приложении на Spring Boot.

Я хотел сломать Java и я это сделал
Автор привнес альтернативную математику в Java.

Борьба с временем ответа сервиса
История о том, как время ответа сервиса выросло в несколько раз в течение месяца, в чем была причина, и какое в итоге нашли решение.

Используем Elasticsearch вместе со Spring Boot
Как можно интегрировать Elasticsearch в Spring Boot приложение.
Динамический массив

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

Он реализуется с помощью класса ArrayList. ArrayList представляет собой реализацию списка, который может изменять свой размер по мере необходимости.
#код
🐧📖 ТОП-10 книг по Linux в 2023 году

Популярные книги по изучению Linux на русском языке, опубликованные за последние несколько лет.

Читать статью
Узнаем версию Java

В Java можно узнать версию текущего экземпляра JVM (Java Virtual Machine) с помощью функции System.getProperty("java.version");

Этот код вернет текущую версию Java, установленную на компьютере.
#код
Зачем нужны и какие бывают блоки инициализации?

Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.

• Существуют статические и нестатические блоки инициализации.
• Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
• Несколько блоков инициализации выполняются в порядке следования в коде класса.
• Блок инициализации способен генерировать исключения, если их объявления перечислены в throws всех конструкторов класса.
• Блок инициализации возможно создать и в анонимном классе.
#вопросы_с_собеседований
Класс "обертка" (wrapper class)

Класс-обертка (wrapper class) — это класс, который обеспечивает возможность использования примитивных типов данных как объектов. Каждый примитивный тип данных в Java имеет соответствующий класс-обертку: byte — Byte, short — Short, int — Integer, long — Long, float — Float, double — Double, boolean — Boolean и char — Character.

Классы-обертки используются, например, при работе с объектами коллекций, такими как ArrayList, где примитивные типы не могут быть использованы (список может хранить только объекты).

В этом примере мы создаем объекты классов-оберток для примитивных типов int, double, char и выводим значения этих объектов с помощью метода println().
#код
🧩 Задача: Поиск Знаменитости. Метод двух указателей

Знаменитость — человек, который не знает никого в компании, но при этом каждый знает его самого. Ваша задача — найти такого человека.

Автор рассказывает как оптимально решить эту задачу с использованием двух указателей. Пример кода написан на Java.

Перейти к просмотру
👨‍🏫Библиотека программиста» находится в поиске преподавателя на курс по базам данных SQL

Proglib — это не только медиа, но еще и образовательный проект. Сейчас мы разрабатываем курс по базам данных SQL и ищем преподавателя в «Академию». Если вы опытный и творческий эксперт в сфере, желающий делиться знаниями и обучать, мы будем рады поработать с вами в команде.

Что важно:
● Готовность сотрудничать в формате part-time
● Опыт работы с базами данных от 2 лет
● Понимание базового и продвинутого SQL
● Знание и умение работать: с индексами, PL SQL-процедурами, организацией миграций, агрегатными, аналитическими и оконными функциями, вложенными запросами, опыт проектирования схем данных, OLAP-преобразованиями
● Умение объяснять простые вещи легко и захватывающе

Что нужно будет делать:
● Проектирование программы курса
● Создание тематических модулей и заданий к ним
● Проведение онлайн событий и Q and A встреч со студентами
● Запись видеоуроков

Мотивация:
● До 200 000 рублей
● Доступ к курсам академии
● Поддержка методистом

➡️ Заполнить анкету для отклика ⬅️
Интерфейс Delayed

Интерфейс Delayed используется для объектов, у которых есть время истечения задержки.
Он позволяет организовать очередь объектов с учетом их задержки.

Основные методы:
getDelay(TimeUnit unit) — возвращает оставшееся время задержки в указанных единицах измерения.
compareTo(Delayed o) — сравнивает текущий объект с переданным по оставшемуся времени задержки.

Этот интерфейс реализуется классами, которые должны храниться в очереди с задержкой, например в DelayQueue.
#код