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
Please open Telegram to view this post
VIEW IN TELEGRAM
😁34🤣155
Вопрос с собеседования

Почему строка популярна в качестве ключа в HashMap?

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

📱 Java Developer | #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥238💯4
👩‍💻 Символы 'Y' и 'y' в Java: нюансы, которые нужно знать

В статье рассматривается различие между символами 'Y' и 'y' при форматировании дат в Java.

Автор объясняет, как использование 'Y' может привести к неожиданным результатам, особенно в конце года, и предлагает способы избежать подобных ошибок.

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

📱 Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥4
База

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁317👍5
Что выведет код сверху?
Anonymous Quiz
2%
0
32%
1
36%
2
4%
null
27%
Ошибка компиляции
🤔20👍52
3
👩‍💻 Как преобразовать Iterable в Collection в Java?

Иногда можно столкнуться с необходимостью преобразовать Iterable в Collection. Например, сторонние библиотеки часто возвращают результаты в виде Iterable, но для дальнейшей работы удобнее использовать Collection.

Давайте рассмотрим два способа, как это можно сделать:

▶️Stream API (Java 8+)

С помощью Stream API это преобразование можно выполнить за пару строк:

Iterable<String> iterable = new ArrayList<>();
Collection<String> collection = StreamSupport.stream(iterable.spliterator(), false)
.collect(Collectors.toList());


Сначала создаётся поток из Iterable, а затем результат собирается в список.

▶️Guava

Если вы используете библиотеку Guava от Google, преобразование становится ещё проще:

Iterable<String> iterable = new ArrayList<>();
Collection<String> collection = Lists.newArrayList(iterable);


Этот подход идеален, если Guava уже подключена к вашему проекту.

Оба способа быстро решают задачу и помогают избежать лишнего кода.

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

➡️ Java Developer | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
19👍6🔥2
Будни на удалёнке

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
👍198😁7
Задача с LeetCode «Can Place Flowers №605»

У вас есть клумба, где одни участки засажены (1), а другие пусты(0). Цветы нельзя сажать на соседних участках.

Дан массив flowerbed (0 — пусто, 1 — занято) и число n. Нужно определить, можно ли посадить n цветов, соблюдая правило, чтобы соседние участки оставались свободными.

Верните true, если это возможно, и false — если нет.

Пример 1:
Входные данные: flowerbed = [1,0,0,0,1], n = 1
Вывод: true

Пример 2:
Входные данные: flowerbed = [1,0,0,0,1], n = 2
Вывод: false

📱 Java Developer | #задача #easy
Please open Telegram to view this post
VIEW IN TELEGRAM
5🤔3🔥2
Все мы немного Дмитрий Маликов

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁359💯6
👩‍💻 Транзакции в Spring: сила управления данными

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

Автор объясняет, как обеспечить целостность данных при выполнении операций, приводя примеры кода и практические рекомендации.

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

📱 Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
15
Please open Telegram to view this post
VIEW IN TELEGRAM
😁531
Под какой буквой правильный ответ?
Anonymous Quiz
29%
A
4%
B
55%
C
11%
D
6👍1
👩‍💻 Аннотации @RequestParam и @PathVariable

Сегодня поговорим о двух аннотациях в Spring — @RequestParam и @PathVariable, разберём их различия и приведём примеры использования.

Работа с параметрами запроса — одна из ключевых задач при разработке веб-приложений. @RequestParam и @PathVariable помогают легко извлекать данные из URL.

▶️Аннотация @PathVariable

Используется для получения значений из пути URL. Например, если у нас есть запрос http://website.com/products/123, где 123 — это ID продукта:
@GetMapping("/products/{id}")
public Product getProduct(@PathVariable String id) {
// обработка ID
return productService.getProductById(id);
}

В этом случае 123 автоматически будет сопоставлено с параметром id метода.


▶️Аннотация @RequestParam

Эта аннотация используется для извлечения параметров из строки запроса. Например, если запрос выглядит так: http://website.com/products?id=123:
@GetMapping("/products")
public Product getProduct(@RequestParam String id) {
// обработка ID
return productService.getProductById(id);
}

Здесь id=123 извлекается из параметров URL и передаётся в метод.


▶️Где и когда использовать?

@PathVariable удобно применять, когда значения являются частью структуры пути URL (например, идентификатор ресурса). Часто используется в REST API для четкой организации маршрутов, например /users/{userId} или /orders/{orderId}.

@RequestParam подходит для работы с необязательными или дополнительными параметрами, передаваемыми в строке запроса, например фильтры, сортировка или пагинация: /products?category=electronics&sort=price.

📌 Используйте @PathVariable для статичных идентификаторов и @RequestParam для динамических, кастомизируемых параметров.


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

📱 Java Developer | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
35👍11
Это база

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

Могут ли у абстрактного класса быть конструкторы?

Ответ: Да, у абстрактного класса могут быть конструкторы. Они вызываются при создании экземпляров подклассов для инициализации общих переменных. Даже если конструктор не определён явно, компилятор добавляет его по умолчанию, чтобы обеспечить корректную работу цепочки вызовов super().

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

В статье описаны нововведения Spring Boot 3.4: настройка HttpRequestFactory, структурированное логирование и упрощённое завершение работы приложений.

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

📱 Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣638😁8
Что выведет код сверху?
Anonymous Quiz
29%
1
13%
1 static A
10%
123 static A
13%
static 123 A
19%
static A
17%
static 1 A
👍42