#полезное
😊 Шпаргалка по основам Java с примерами кода.
В ней есть всё, что может пригодиться начинающему разработчику.
Оригинал в хорошем качестве можно взять тут
👉 Новости 👉 База вопросов
В ней есть всё, что может пригодиться начинающему разработчику.
Оригинал в хорошем качестве можно взять тут
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 CountDownLatch
👉 Новости 👉 База вопросов
CountDownLatch
— это синхронизационный механизм, предоставляемый пакетом java.util.concurrent
, который позволяет одному или нескольким потокам ждать, пока определенное количество операций завершится, прежде чем они смогут продолжить свою работу. Он полезен в ситуациях, когда нужно дождаться завершения нескольких параллельных задач, прежде чем продолжить выполнение кода.CountDownLatch
работает по принципу счетчика, который уменьшается с каждым вызовом метода countDown()
. Когда счетчик достигает нуля, все ожидающие потоки могут продолжить свою работу.Please open Telegram to view this post
VIEW IN TELEGRAM
#собес
🤔 Что такое класс, объект, интерфейс?
Класс - это шаблон или "чертеж" для создания объектов, определяющий их свойства и поведение.
Объект - это конкретный экземпляр класса с определенными значениями свойств.
Интерфейс - это контракт, который определяет набор методов, которые должен реализовать класс.
👉 Новости 👉 Платформа
Класс - это шаблон или "чертеж" для создания объектов, определяющий их свойства и поведение.
Объект - это конкретный экземпляр класса с определенными значениями свойств.
Интерфейс - это контракт, который определяет набор методов, которые должен реализовать класс.
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😊 Изучите приоритеты конфигурации Spring Boot и различия между файлами .yaml и .properties на наглядных примерах
Статья объясняет приоритетность загрузки конфигурационных файлов в приложениях (например, на Spring Boot) и сравнивает форматы YAML и properties: YAML удобнее для сложных структур благодаря иерархии, а properties-файлы проще и подходят для плоских настроек.
Подробнее
👉 Новости 👉 База вопросов
Статья объясняет приоритетность загрузки конфигурационных файлов в приложениях (например, на Spring Boot) и сравнивает форматы YAML и properties: YAML удобнее для сложных структур благодаря иерархии, а properties-файлы проще и подходят для плоских настроек.
Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤓 Инструмент для бенчмаркинга и оптимизации Kafka
KafkaOptimize — включает скрипты для измерения пропускной способности, настройки серверных и клиентских параметров, а также для оптимизации производительности Kafka.
В нем реализована симуляция сетевой задержки и мониторинг аппаратных узких мест.
Ознакомиться
👉 Новости 👉 База вопросов
KafkaOptimize — включает скрипты для измерения пропускной способности, настройки серверных и клиентских параметров, а также для оптимизации производительности Kafka.
В нем реализована симуляция сетевой задержки и мониторинг аппаратных узких мест.
Ознакомиться
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😎 Алгоритмы балансировки нагрузки
Балансировщики нагрузки распределяют входящий сетевой трафик между несколькими серверами, чтобы ни один сервер не испытывал чрезмерной нагрузки.
Эффективное распределение запросов увеличивает производительность и надёжность приложений.
Вот некоторые распространённые стратегии и алгоритмы, используемые в балансировке нагрузки: клик
👉 Новости 👉 База вопросов
Балансировщики нагрузки распределяют входящий сетевой трафик между несколькими серверами, чтобы ни один сервер не испытывал чрезмерной нагрузки.
Эффективное распределение запросов увеличивает производительность и надёжность приложений.
Вот некоторые распространённые стратегии и алгоритмы, используемые в балансировке нагрузки: клик
Please open Telegram to view this post
VIEW IN TELEGRAM
#собес
🤔 Что такое класс POJO? Приведите пример такого класса.
PJO (Plain Old Java Object) - это простой Java-класс без сложных зависимостей. Он используется для хранения данных и не содержит бизнес-логики.
👉 Новости 👉 Платформа
PJO (Plain Old Java Object) - это простой Java-класс без сложных зависимостей. Он используется для хранения данных и не содержит бизнес-логики.
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
#видео
😊 Общение микросервисов между собой
Это видео посвящёно интеграции Apache Kafka с Spring. В нём рассматриваются:
🟠 Создание Kafka-топика с использованием Spring
🟠 Настройка Producer-а и Consumer-а для работы с одним топиком
🟠 Организация взаимодействия между сервисами через Kafka
📱 Cмотреть видео
👉 Новости 👉 База вопросов
Это видео посвящёно интеграции Apache Kafka с Spring. В нём рассматриваются:
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 Плагин IntelliJIDEA
Повышайте свою продуктивность, а именно: находите ответы быстрее прямо в IntelliJIDEA!
1⃣ Установите плагин Help Search через Настройки | Плагины | Маркетплейс.
2⃣ Нажмите ⇧⇧ | Shift+Shift, перейдите на вкладку Help и ищите любую нужную информацию!
Ссылка на плагин
👉 Новости 👉 База вопросов
Повышайте свою продуктивность, а именно: находите ответы быстрее прямо в IntelliJIDEA!
Ссылка на плагин
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 Шпаргалка по Spring Framework
Включены ключевые технологии, такие как Spring Boot, Dependency Injection (DI), Inversion of Control (IoC), Spring MVC, Spring Data JPA, Spring Security и другие.
Объяснены, как эти технологии упрощают разработку Java-приложений, автоматизируют управление зависимостями, обеспечивают безопасность, работу с базами данных и улучшенную производительность.
👉 Новости 👉 База вопросов
Включены ключевые технологии, такие как Spring Boot, Dependency Injection (DI), Inversion of Control (IoC), Spring MVC, Spring Data JPA, Spring Security и другие.
Объяснены, как эти технологии упрощают разработку Java-приложений, автоматизируют управление зависимостями, обеспечивают безопасность, работу с базами данных и улучшенную производительность.
Please open Telegram to view this post
VIEW IN TELEGRAM
#собес
🤔 Какие элементы могут содержать класс?
Класс может содержать поля (свойства), методы, конструкторы, статические блоки, вложенные классы, интерфейсы и аннотации.
👉 Новости 👉 Платформа
Класс может содержать поля (свойства), методы, конструкторы, статические блоки, вложенные классы, интерфейсы и аннотации.
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 358. Rearrange String k Distance Apart
Дана строка s и целое число k, переставьте символы в s так, чтобы одинаковые символы находились на расстоянии не менее k друг от друга. Если невозможно переставить строку, верните пустую строку "".
Пример:
👨💻 Алгоритм:
1⃣ Создайте словарь частот для символов строки и определите максимальную частоту.
2⃣ Разделите символы на группы по частоте и создайте сегменты для размещения символов.
3⃣ Распределите оставшиеся символы по сегментам, проверяя условия, и объедините сегменты в итоговую строку.
😎 Решение:
👉 Новости 👉 База вопросов
Задача: 358. Rearrange String k Distance Apart
Дана строка s и целое число k, переставьте символы в s так, чтобы одинаковые символы находились на расстоянии не менее k друг от друга. Если невозможно переставить строку, верните пустую строку "".
Пример:
Input: s = "aabbcc", k = 3
Output: "abcabc"
Explanation: The same letters are at least a distance of 3 from each other.
class Solution {
public String rearrangeString(String s, int k) {
Map<Character, Integer> freqs = new HashMap<>();
int maxFreq = 0;
for (char c : s.toCharArray()) {
freqs.put(c, freqs.getOrDefault(c, 0) + 1);
maxFreq = Math.max(maxFreq, freqs.get(c));
}
Set<Character> mostChars = new HashSet<>();
Set<Character> secondChars = new HashSet<>();
for (char c : freqs.keySet()) {
if (freqs.get(c) == maxFreq) mostChars.add(c);
else if (freqs.get(c) == maxFreq - 1) secondChars.add(c);
}
StringBuilder[] segments = new StringBuilder[maxFreq];
for (int i = 0; i < maxFreq; i++) segments[i] = new StringBuilder();
for (char c : mostChars) {
for (int i = 0; i < maxFreq; i++) segments[i].append(c);
}
for (char c : secondChars) {
for (int i = 0; i < maxFreq - 1; i++) segments[i].append(c);
}
int segmentId = 0;
for (char c : freqs.keySet()) {
if (mostChars.contains(c) || secondChars.contains(c)) continue;
for (int freq = freqs.get(c); freq > 0; freq--) {
segments[segmentId].append(c);
segmentId = (segmentId + 1) % (maxFreq - 1);
}
}
for (int i = 0; i < maxFreq - 1; i++) {
if (segments[i].length() < k) return "";
}
return String.join("", segments);
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤯 22 библиотеки и API, которые, по мнению автора, являются необходимыми для Java в 2025 году
В списке есть инструменты для модульного тестирования (JUnit, Mockito), работы с JSON (Jackson, Gson), логирования (SLF4J, Log4j2), HTTP-запросов (Apache HttpClient), XML (JAXB, Xerces), а также универсальные утилиты (Apache Commons, Google Guava
Читать подробнее
👉 Новости 👉 База вопросов
В списке есть инструменты для модульного тестирования (JUnit, Mockito), работы с JSON (Jackson, Gson), логирования (SLF4J, Log4j2), HTTP-запросов (Apache HttpClient), XML (JAXB, Xerces), а также универсальные утилиты (Apache Commons, Google Guava
Читать подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
#полезное
😊 Java Version Almanac — коллекция информации об истории и будущем языка программирования Java.
Сайт предоставляет подробные сведения о различных версиях Java, включая документацию, новые API, добавленные функции и варианты загрузки. На сайте также можно найти информацию о новых функциях, представленных в различных версиях JDK
👉 Новости 👉 База вопросов
Сайт предоставляет подробные сведения о различных версиях Java, включая документацию, новые API, добавленные функции и варианты загрузки. На сайте также можно найти информацию о новых функциях, представленных в различных версиях JDK
Please open Telegram to view this post
VIEW IN TELEGRAM
#собес
🤔 Расскажите о подражании Java. Каковы особенности использования ключевого слова super?
Ключевое слово
👉 Новости 👉 Платформа
Ключевое слово
super
в Java используется для вызова конструктора или методов родительского класса, а также для доступа к скрытым полям. Это необходимо при переопределении методов или для точного указания, что используется родительская версия метода или свойства.Please open Telegram to view this post
VIEW IN TELEGRAM
#новости
😐 Новые возможности в Java 21
🟠 Шаблоны записей (Record patterns) были добавлены в Java 19 и Java 20 как preview-функции. В Java 21 они вышли из режима предварительного просмотра с некоторыми улучшениями.
🟠 Сопоставление с образцом в switch (Pattern matching for switch) было усовершенствовано в JDK 18, 19 и 20, а в JDK 21 получило дополнительные улучшения.
🟠 Шаблоны строк (String templates) появились в Java 21.
🟠 Виртуальные потоки (Virtual threads) впервые были добавлены в Java 19 в качестве preview-функции и доработаны в Java 20. В Java 21 добавлены новые изменения.
🟠 Новые интерфейсы для упорядоченных коллекций: в Java 21 появились три новых интерфейса для представления упорядоченных коллекций, упорядоченных наборов (sets) и упорядоченных карт (maps).
🟠 Новый API KEM: Java 21 добавила новый API KEM, который позволяет приложениям использовать алгоритмы KEM.
👉 Новости 👉 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😇 Основы flatMap в Java
🟠 flatMap является промежуточной операцией.
🟠 Промежуточные операции преобразуют один поток (stream) в другой и позволяют выполнять дальнейшие операции с потоком.
🟠 Слово «flat» в flatMap указывает на его способность «выравнивать» поток коллекций (например, Stream<List<T>>) в единый поток элементов (Stream<T>).
🟠 Назначение: преобразует каждый элемент исходного потока в поток других элементов (отображение «один ко многим»), а затем объединяет (выравнивает) полученные потоки в единый непрерывный поток.
👉 Новости 👉 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM