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

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

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

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
👩‍💻 Мастерство работы с Java Stream

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

Автор объясняет, как эффективно обрабатывать данные с помощью потоков, приводя примеры кода и практические рекомендации.

Ссылка на статью

📱 Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥64👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
💯21😁14
Под какой буквой правильный ответ?
Anonymous Quiz
68%
A
8%
B
9%
C
15%
D
6😁2👍1
👩‍💻 Преобразование целочисленных значений в enum

Иногда возникает необходимость преобразовать число в значение перечисления (enum). Давайте рассмотрим как это правильно сделать.

Например, есть перечисление:
public enum Season {
WINTER,
SPRING,
SUMMER,
AUTUMN
}

Для числа 0 это будет WINTER, для 1 — SPRING и так далее.


Попытка прямого приведения не сработает:
int x = 1;
Season season = (Season) x; // Ошибка компиляции


Правильный способ — использовать метод values(), который возвращает массив всех значений enum:
int x = 1;
Season season = Season.values()[x]; // SPRING


Этот метод извлекает элемент массива по индексу. Однако, если индекс выходит за пределы массива, будет выброшено исключение ArrayIndexOutOfBoundsException.

📌 Важно понимать, что целочисленное значение, используемое для получения значения перечисления, должно иметь смысл в контексте приложения, чтобы код был читаемым и надёжным.


❤️если было полезно

📱 Java Developer | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
36👍4
А он хорош 😆

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣484🔥3😁2
Вопрос с собеседования

Можно ли создать экземпляр абстрактного класса?

Ответ: Нет, создать экземпляр абстрактного класса нельзя, так как он не имеет полной реализации. Можно создавать экземпляры классов-наследников, которые реализуют все абстрактные методы.

📱 Java Developer | #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍102🔥1
👩‍💻 Что нового в Spring Boot 3.4: Spring Security

В статье рассматриваются ключевые улучшения в Spring Security 6.4.1: поддержка современных методов аутентификации, таких как Passkeys и одноразовые токены, а также другие значительные обновления.

Ссылка на статью

📱 Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
17
Работает безотказно

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁44💯95
😁15🤔3
Что выведет код сверху?
Anonymous Quiz
30%
386
51%
Java
8%
J a v a
11%
Ошибка
🔥14🤯85
👩‍💻 Статические и нестатические вложенные классы

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

Допустим, у нас есть Order — класс для работы с заказами. У каждого заказа есть статусы, например, «Создан», «Оплачен», «Отправлен».

Статусы удобно оформить как статический вложенный класс:
public class Order {
public static class Status {
public static final String CREATED = "Created";
}
}

// Использование:
String status = Order.Status.CREATED;

Почему статический? Потому что Status — это утилитарный класс. Он хранит данные, которые одинаковы для всех заказов, и не связан с конкретным экземпляром Order.


А теперь рассмотрим пример с нестатическим классом. Пусть Order имеет вложенный класс Item, представляющий товар в заказе:
public class Order {
public class Item {
public Item(String name) { /* логика */ }
}
}

// Использование:
Order.Item item = new Order().new Item("Laptop");

Здесь Item нужен для описания товаров в конкретном заказе, поэтому он привязан к экземпляру Order.


Подытожим: статический вложенный класс удобен для универсальных данных, а нестатический — для работы с данными конкретного объекта.

❤️если было полезно

📱 Java Developer | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
25👍4
База

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣56😁12💯71🔥1
Задача с LeetCode «Maximum Swap №670»

Дано целое число num. Вы можете поменять в нём местами две цифры один раз, чтобы получить максимальное значение.

Нужно вернуть максимальное значение, которое вы можете получить.

Пример 1:
Входные данные: num = 2736
Вывод: 7236
Пояснение: Поменяли 2 и 7 местами.

Пример 2:
Входные данные: num = 9973
Вывод: 9973
Пояснение: Ничего местами не поменяли.

📱 Java Developer | #задача #medium
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥5👍4
👩‍💻 Кэширование с FeignClient: как ускорить микросервисы

Статья о том, как добавить кэширование в FeignClient с помощью Caffeine Cache и сделать микросервисы молниеносными.

Простая настройка, минимум кода, максимум пользы — пошагово на примере Java и Spring Boot, чтобы ваши запросы летали, а API не тормозил.

Ссылка на статью

📱 Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣54🔥12💯4🤔21
Под какой буквой правильный ответ?
Anonymous Quiz
71%
A
20%
B
3%
C
6%
D
👍42
👩‍💻 Как преобразовать Stream в массив?

Stream API, введённое в Java с версии 8, позволяет работать с последовательностями данных в функциональном стиле. Одной из полезных операций является преобразование потока в массив.

Чтобы преобразовать поток в массив, используется метод toArray(). Если нужно получить массив определённого типа, передаётся ссылка на конструктор массива:
Stream<String> stream = Stream.of("a", "b", "c");
String[] array = stream.toArray(String[]::new);

Здесь String[]::new создаёт массив строк необходимого размера.


Для работы с примитивами, таких как int, double, существуют специализированные потоки: IntStream, LongStream, DoubleStream. Их метод toArray() возвращает массив соответствующего типа:
IntStream intStream = IntStream.range(0, 5);
int[] intArray = intStream.toArray();

Этот код создаёт поток чисел от 0 до 4 и преобразует его в массив int[].


❤️если было полезно

📱 Java Developer | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
33👍8
Please open Telegram to view this post
VIEW IN TELEGRAM
😁29🤣19🔥32👻1
Вопрос с собеседования

Что такое JAXP?

Ответ: JAXP, The Java API for XML Processing (Java API для обработки XML) — набор API, упрощающих обработку XML данных в программах написанных на Java. Содержит реализации DOM, SAX и StAX парсеров, поддерживает XSLT и возможность работать с DTD.

📱 Java Developer | #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍133