Java Portal | Программирование
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика Связь: @devmangx РКН: https://clck.ru/3H4WUg
Больше📈 Аналитический обзор Telegram-канала Java Portal | Программирование
Канал Java Portal | Программирование (@java_iibrary) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 11 775 подписчиков, занимая 10 273 место в категории Технологии и приложения и 54 502 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 11 775 подписчиков.
Согласно последним данным от 26 августа, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -154, а за последние 24 часа — -2, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 10.27%. В первые 24 часа после публикации контент обычно набирает 5.76% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 1 209 просмотров. В течение первых суток публикация набирает 678 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 4.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как boot, string, void, архитектура, resttemplate.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика
Связь: @devmangx
РКН: https://clck.ru/3H4WUg”
Благодаря высокой частоте обновлений (последние данные получены 27 августа, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
SpringBootTest.WebEnvironment.RANDOM_PORT вместо жёстко заданных портов в тестах, чтобы избежать конфликтов.
#SpringBoot #JavaDev
👉 Java Portal@MockitoBean и @MockitoSpyBean на параметрах конструктора теста
Это работает с конструкторами в Java, но ещё удобнее с компактными конструкторами в Kotlin. Также это работает с так называемыми «test records» в Java. 🤓
👉 Java Portal- разработчиков - девопсов, админов и безопасников - аналитиков, data- и ML-специалистов - тестировщиков - всех, кто хочет уверенно работать с Git в командеВнутри вся основа, которая реально нужна на практике: от основ системы контроля версий и архитектуры Git до работы с ветками, merge, конфликтами и GitHub. Всё сразу закрепляется на практике с помощью заданий с автопроверкой Материал подаётся простым языком, шаг за шагом, с акцентом на понимание того, как Git работает под капотом, а не просто на запоминание команд После прохождения вы получите сертификат, который можно добавить в резюме В ближайшие 48ч курс доступен со скидкой 25% по промокоду «
GIT25»: открыть курс на Stepik@RestController вместо @Controller + @ResponseBody
@RestController — это мета-аннотация, которая включает @ResponseBody, и затем автоматически применяется ко всем методам:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {
}
❌С использованием @Controller и @ResponseBody:
@Controller
public class MyController {
@ResponseBody
@GetMapping("/hello")
public String hello() {
return "Hello!";
}
}
✅ С использованием @RestController:
@RestController
public class MyController {
@GetMapping("/hello")
public String hello() {
return "Hello!";
}
}
#SpringBoot #CleanCode
👉 Java Portallong к int
Используй Math.toIntExact() — этот метод возвращает значение long, но выбрасывает ArithmeticException, если оно не помещается в int
Без него преобразование произойдёт молча — и ты можешь получить некорректный результат без всяких ошибок.
Используй toIntExact, когда важно контролировать переполнение
👉 Java Portal🔄Практические курсы и задания 🔄Книги и статьи от профи 🔄Полезные инструменты и ресурсы 🔄IT-новости и инсайдыОбучение по всем направлениям: SQL, Python, Frontend, PHP, C++, Golang, GIT, Linux, Java, кибербезопасность и др. Если ценишь знания подпишись: @Terminal_tg
for (Order order : orders) {
log.info("Order {}", order.getId());
process(order);
}
Если orders большой, это может замедлить обработку и засорить лог-файлы.
Если логировать всё же нужно, лучше использовать уровень debug:
log.debug("Order: {}", order.getId());
Также можно добавить проверку, если требуется выполнить нетривиальные вычисления:
if (log.isDebugEnabled()) {
log.debug("Order: {}", expensiveElaboration());
}
👉 Java Portal@Transactional, получив текущий TransactionStatus через класс TransactionAspectSupport и установив для него rollback через setRollbackOnly();. Таким образом, не нужно выбрасывать исключение.
👉 Java Portal@Validated.
✅ Это позволяет приложению падать на старте (fail fast), если конфигурация некорректна.
@Validated
@ConfigurationProperties(prefix = "app")
public class AppProperties {
@NotBlank
private String name;
@Min(1)
@Max(60)
private int timeout;
// getters/setters
}
#SpringBoot #JavaDev
👉 Java Portalgather(...) для стримов — новую промежуточную операцию для преобразований, которые не укладываются в map, filter или flatMap. Небольшой пример 👇@ConfigurationProperties, строковые имена свойств и надежда на то, что все прочитают README.
В Apereo CAS — более 1000 свойств в 633 конфигурационных классах. Автор написал статью о том, как система конфигурации остаётся навигируемой при таком масштабе:
https://medium.com/all-things-software/spring-boot-configuration-properties-at-scale-884f494721ac
👉 Java PortalCollections.frequency(...).
#Java #Collections
👉 Java PortalString.formatted(...) для форматирования строк вместо String.format(...).
Работает как String.format, но выглядит немного чище и понятнее:
Вместо:
String message = String.format("Hello %s, you have %d messages", user, count);
System.out.println(String.format("Hello %s, you have %d messages", user, count));
Можно написать:
String message = "Hello %s, you have %d messages".formatted(user, count);
System.out.println("Hello %s, you have %d messages".formatted(user, count));
Также хорошо работает с многострочным форматированием:
String json = """
{
"user": "%s",
"messages": %d
}
""".formatted(user, count);
👉 Java PortalStream<Integer> boxed = Stream.of(1, 2, 3, 4, 5);
int sumBoxed = boxed.reduce(0, Integer::sum);
✅Работа напрямую с int:
int sumPrimitive = IntStream.of(1, 2, 3, 4, 5).sum();✅Другие классы потоков примитивов:
LongStream, DoubleStream👉 Java Portal
