#полезное
👨💻 Locale.getDefault()
👉 Новости 👉 База вопросов
Locale.getDefault()
позволяет получить текущую локаль системы, что полезно для работы с форматированием дат, чисел и текста.Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😬 Совет для джавистов в IntelliJ IDEA:
Знаешь ли ты, что можно использовать встроенный HTTP-клиент IntelliJ, чтобы ускорить работу с Java?
После этого тебе Postman больше не понадобится.
👉 Новости 👉 База вопросов
Знаешь ли ты, что можно использовать встроенный HTTP-клиент IntelliJ, чтобы ускорить работу с Java?
После этого тебе Postman больше не понадобится.
Please open Telegram to view this post
VIEW IN TELEGRAM
#medium
Задача: 673. Number of Longest Increasing Subsequence
Дан массив целых чисел nums, верните количество самых длинных строго возрастающих подпоследовательностей.
Пример:
Алгоритм:
1⃣ Объявите два массива динамического программирования length и count, и инициализируйте их значениями length[i]=1 и count[i]=1. Итерируйте i от 0 до n−1. Для каждого i итерируйте j от 0 до i−1 и, если nums[j] < nums[i], обновите length[i] и count[i] в зависимости от значений length[j] и count[j].
2⃣ Найдите максимальное значение в массиве length и сохраните его в переменной maxLength. Инициализируйте переменную result = 0.
3⃣ Итерируйте i от 0 до n−1 и, если length[i] = maxLength, добавьте count[i] к result. Верните result.
Решение:
👉 Новости 👉 База вопросов
Задача: 673. Number of Longest Increasing Subsequence
Дан массив целых чисел nums, верните количество самых длинных строго возрастающих подпоследовательностей.
Пример:
Input: n = 1, presses = 1
Output: 2
Explanation: Status can be:
- [off] by pressing button 1
- [on] by pressing button 2
Алгоритм:
Решение:
class Solution {
public int findNumberOfLIS(int[] nums) {
int n = nums.length;
int[] length = new int[n];
int[] count = new int[n];
Arrays.fill(length, 1);
Arrays.fill(count, 1);
for (int i = 0; i < n; i++) {
for (int j = 0; j < i; j++) {
if (nums[j] < nums[i]) {
if (length[j] + 1 > length[i]) {
length[i] = length[j] + 1;
count[i] = 0;
}
if (length[j] + 1 == length[i]) {
count[i] += count[j];
}
}
}
}
int maxLength = Arrays.stream(length).max().getAsInt();
int result = 0;
for (int i = 0; i < n; i++) {
if (length[i] == maxLength) {
result += count[i];
}
}
return result;
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #CIcd
🤔 Что такое blue-green deployment?
Blue-green deployment - это стратегия развертывания, при которой две среды (синяя и зелёная) работают параллельно. Новая версия приложения разворачивается в зелёной среде, тестируется, а затем весь трафик переключается на неё, превращая её в новую продакшн-среду.
👉 Новости 👉 База вопросов
Blue-green deployment - это стратегия развертывания, при которой две среды (синяя и зелёная) работают параллельно. Новая версия приложения разворачивается в зелёной среде, тестируется, а затем весь трафик переключается на неё, превращая её в новую продакшн-среду.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Анонс: Azure Command Launcher для Java
jaz — новый инструмент запуска JVM, оптимизированный под Azure. Он предлагает более подходящие настройки по умолчанию для Java-приложений в контейнерах и на виртуалках.
И это ещё не всё — впереди больше обновлений.
подробнее
👉 Новости 👉 База вопросов
jaz — новый инструмент запуска JVM, оптимизированный под Azure. Он предлагает более подходящие настройки по умолчанию для Java-приложений в контейнерах и на виртуалках.
И это ещё не всё — впереди больше обновлений.
подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#статьи
😅 Нашёл годную статью — подробный гайд по ООП в Java: принципы, концепты и реальные примеры. Если ты новичок или хочешь освежить базу — заходи смело. Всё объяснено доступно и с кодом.
источник
👉 Новости 👉 База вопросов
источник
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 Thread.getState()
👉 Новости 👉 База вопросов
Thread.getState()
позволяет получить текущее состояние потока. Это полезно при отладке многопоточных программ, чтобы отслеживать, выполняется ли поток, заблокирован или завершён.Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #CIcd
🤔 Что такое контейнер?
Контейнер - это легковесный, изолированный пакет, содержащий код приложения, зависимости и настройки. Он позволяет запускать приложения независимо от среды, упрощая их развертывание и масштабирование.
👉 Новости 👉 База вопросов
Контейнер - это легковесный, изолированный пакет, содержащий код приложения, зависимости и настройки. Он позволяет запускать приложения независимо от среды, упрощая их развертывание и масштабирование.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Интерфейс JpaRepository
Это готовое решение для CRUD-операций. Просто унаследуйся от
👉 Новости 👉 База вопросов
Это готовое решение для CRUD-операций. Просто унаследуйся от
JpaRepository<Entity, ID>
— и получи save, find, delete, update
без лишнего кодаPlease open Telegram to view this post
VIEW IN TELEGRAM
image_2025-05-27_07-57-06.png
255 KB
#полезное
😇 Java Lombok: Аннотация
Аннотация
🟠
🟠
🟠
🟠
🟠
👉 Новости 👉 База вопросов
@Data
— всё в одномАннотация
@Data
объединяет в себе несколько часто используемых аннотаций Lombok:@ToString
— генерирует метод toString()@Getter
— создаёт геттеры для всех нестатических полей@Setter
— создаёт сеттеры для всех нестатических полей@EqualsAndHashCode
— генерирует equals() и hashCode()@RequiredArgsConstructor
— создаёт конструктор для всех final и @NonNull
полейPlease open Telegram to view this post
VIEW IN TELEGRAM
#полезное
❤️🔥 Charset.forName()
👉 Новости 👉 База вопросов
Charset.forName()
позволяет получить кодировку по её названию и использовать её для преобразования строк. Это полезно при работе с различными кодировками, например, UTF-8, ISO-8859-1 и Windows-1251.Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #CIcd
🤔 Что такое Jenkinsfile?
Jenkinsfile - это текстовый файл, в котором описаны этапы CI/CD-пайплайна: сборка, тестирование, развертывание. Он позволяет управлять процессами Jenkins с помощью кода, обеспечивая прозрачность и повторяемость.
👉 Новости 👉 База вопросов
Jenkinsfile - это текстовый файл, в котором описаны этапы CI/CD-пайплайна: сборка, тестирование, развертывание. Он позволяет управлять процессами Jenkins с помощью кода, обеспечивая прозрачность и повторяемость.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 JDK 25: String::hashCode стал быстрее
В новой версии JDK 25 улучшили производительность класса String: теперь метод
Это значит:
– Меньше затрат в рантайме
– Быстрее работа с ключами в HashMap
– Эффективнее часто используемые строки
Подробнее
👉 Новости 👉 База вопросов
В новой версии JDK 25 улучшили производительность класса String: теперь метод
String::hashCode
в большинстве случаев сворачивается на этапе компиляции (constant folding).Это значит:
– Меньше затрат в рантайме
– Быстрее работа с ключами в HashMap
– Эффективнее часто используемые строки
Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😵💫 Совет по Java API
Используйте
Она помогает не допустить случайного добавления второго абстрактного метода в интерфейс, который должен быть функциональным.
Если вы попытаетесь добавить ещё один абстрактный метод в такой интерфейс, компилятор выдаст ошибку
👉 Новости 👉 База вопросов
Используйте
@FunctionalInterface
как защиту на уровне компиляцииОна помогает не допустить случайного добавления второго абстрактного метода в интерфейс, который должен быть функциональным.
Если вы попытаетесь добавить ещё один абстрактный метод в такой интерфейс, компилятор выдаст ошибку
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👋 ScopedValue.where()
👉 Новости 👉 База вопросов
ScopedValue.where()
позволяет безопасно передавать контекстные данные внутри потока, избегая утечек памяти и сложностей ThreadLocal
. Данные доступны только внутри заданного блока кода.Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #bash
🤔 Как удалить все .log файлы в директории?
Чтобы удалить все
Для удаления в подкаталогах используйте:
👉 Новости 👉 База вопросов
Чтобы удалить все
.log
файлы в текущей папке, выполните:rm *. log
Для удаления в подкаталогах используйте:
find . -name "*.1og" -delete
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🫡 В этом гайде автор показывает, как парсить структурированные строки в Java
Большинство разработчиков используют регулярные выражения,
Класс
👉 Новости 👉 База вопросов
Большинство разработчиков используют регулярные выражения,
split()
или ручную нарезку строк. Но эти техники подвержены ошибкам, плохо читаются и, что важнее всего — небезопасны на этапе компиляции.Класс
StringFormat
делает парсинг настолько простым, что даже новичок может реализовать его в одну строку.Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😊 В этом гайде автор делится, как писать удобные интеграционные тесты в Spring Boot
Многие разработчики либо перегружают
Класс
👉 Новости 👉 База вопросов
Многие разработчики либо перегружают
@SpringBootTest
, либо пишут сложные конструкции с @MockBean
. Но такие подходы тормозят сборку, плохо читаются и, что важнее всего — дают ложное чувство покрытия.Класс
MockMvc
и аннотация @WebMvcTest
делают тестирование контроллеров лёгким и быстрым, можно проверить весь HTTP-флоу без запуска сервера.Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Совет по Java: предпочитай внедрение через конструктор, а не через поля
На то есть разные причины:
🟠 Зависимости можно пометить как
🟠 Повышает надёжность класса и безопасность при работе с потоками
🟠 Заставляет вызывающий код (или DI-контейнер) передать все необходимые зависимости
🟠 Упрощает модульное тестирование, позволяя подставлять моки или стабы через конструктор
🟠 Все зависимости видны в конструкторе, что чётко показывает, что нужно классу для работы.
🟠 Внедрение через конструктор не использует рефлексию или доступ к приватным полям (в отличие от внедрения через поля), что повышает производительность и снижает риски
👉 Новости 👉 База вопросов
На то есть разные причины:
final
, гарантируя, что они не изменятся после создания.Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #bash
🤔 Как вывести только каталоги в папке?
Чтобы отобразить только папки, используйте:
Или команду
👉 Новости 👉 База вопросов
Чтобы отобразить только папки, используйте:
Is -d */
Или команду
find
:find . -type d
Please open Telegram to view this post
VIEW IN TELEGRAM