en
Feedback
Java Portal | Программирование

Java Portal | Программирование

Open in Telegram

Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика Связь: @devmangx РКН: https://clck.ru/3H4WUg

Show more

📈 Analytical overview of Telegram channel Java Portal | Программирование

Channel Java Portal | Программирование (@java_iibrary) in the Russian language segment is an active participant. Currently, the community unites 11 775 subscribers, ranking 10 273 in the Technologies & Applications category and 54 502 in the Russia region.

📊 Audience metrics and dynamics

Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 11 775 subscribers.

According to the latest data from 26 August, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -154 over the last 30 days and by -2 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 10.27%. Within the first 24 hours after publication, content typically collects 5.76% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 1 209 views. Within the first day, a publication typically gains 678 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 4.
  • Thematic interests: Content is focused on key topics such as boot, string, void, архитектура, resttemplate.

📝 Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика Связь: @devmangx РКН: https://clck.ru/3H4WUg

Thanks to the high frequency of updates (latest data received on 27 August, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

11 775
Subscribers
-224 hours
-437 days
-15430 days
Posts Archive
Прогрессивный практический туториал по изучению Agent Client Protocol (ACP) с использованием Java SDK: https://github.com/markpollack/acp-java-tutorial 👉 Java Portal

Spring Boot: Лучше использовать SpringBootTest.WebEnvironment.RANDOM_PORT вместо жёстко заданных портов в тестах, чтобы избеж
Spring Boot: Лучше использовать SpringBootTest.WebEnvironment.RANDOM_PORT вместо жёстко заданных портов в тестах, чтобы избежать конфликтов. #SpringBoot #JavaDev 👉 Java Portal

В SpringFramework 7.1 появится поддержка @MockitoBean и @MockitoSpyBean на параметрах конструктора теста Это работает с конст
+1
В SpringFramework 7.1 появится поддержка @MockitoBean и @MockitoSpyBean на параметрах конструктора теста Это работает с конструкторами в Java, но ещё удобнее с компактными конструкторами в Kotlin. Также это работает с так называемыми «test records» в Java. 🤓 👉 Java Portal

На Stepik добавили курс «Git с нуля» Этот курс закрывает всю обязательную базу по Git для работы в IT. Подойдёт для: - разраб
На Stepik добавили курс «Git с нуля» Этот курс закрывает всю обязательную базу по Git для работы в IT. Подойдёт для:
- разработчиков - девопсов, админов и безопасников - аналитиков, data- и ML-специалистов - тестировщиков - всех, кто хочет уверенно работать с Git в команде
Внутри вся основа, которая реально нужна на практике: от основ системы контроля версий и архитектуры Git до работы с ветками, merge, конфликтами и GitHub. Всё сразу закрепляется на практике с помощью заданий с автопроверкой Материал подаётся простым языком, шаг за шагом, с акцентом на понимание того, как Git работает под капотом, а не просто на запоминание команд После прохождения вы получите сертификат, который можно добавить в резюме В ближайшие 48ч курс доступен со скидкой 25% по промокоду «GIT25»: открыть курс на Stepik

💡Spring Boot: для чистых REST-контроллеров используйте @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 Portal

Java API Tip Безопасное приведение long к int Используй Math.toIntExact() — этот метод возвращает значение long, но выбрасыва
Java API Tip Безопасное приведение long к int Используй Math.toIntExact() — этот метод возвращает значение long, но выбрасывает ArithmeticException, если оно не помещается в int Без него преобразование произойдёт молча — и ты можешь получить некорректный результат без всяких ошибок. Используй toIntExact, когда важно контролировать переполнение 👉 Java Portal

Айтишники не рассказывают где учатся бесплатно и эффективно Никому не говори об этом канале!!! В сфере онлайн образования поя
Айтишники не рассказывают где учатся бесплатно и эффективно Никому не говори об этом канале!!! В сфере онлайн образования появился новый гигант «TERMINAL» который разрушит индустрию платных курсов Бесплатный доступ:
🔄Практические курсы и задания 🔄Книги и статьи от профи 🔄Полезные инструменты и ресурсы 🔄IT-новости и инсайды
Обучение по всем направлениям: SQL, Python, Frontend, PHP, C++, Golang, GIT, Linux, Java, кибербезопасность и др. Если ценишь знания подпишись: @Terminal_tg

Spring Boot: лучше избегать логирования внутри плотных циклов, так как это может повлиять на производительность приложения и привести к засорению лог-файлов. Пример:
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

#Java Совет: вы можете откатить транзакцию БД, созданную аннотацией @Transactional, получив текущий TransactionStatus через к
#Java Совет: вы можете откатить транзакцию БД, созданную аннотацией @Transactional, получив текущий TransactionStatus через класс TransactionAspectSupport и установив для него rollback через setRollbackOnly();. Таким образом, не нужно выбрасывать исключение. 👉 Java Portal

Spring Boot: можно валидировать конфигурационные классы с помощью аннотации @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 Portal

Один JEP, к которому стоит вернуться: JEP 485 в JDK 24. Он вводит gather(...) для стримов — новую промежуточную операцию для
Один JEP, к которому стоит вернуться: JEP 485 в JDK 24. Он вводит gather(...) для стримов — новую промежуточную операцию для преобразований, которые не укладываются в map, filter или flatMap. Небольшой пример 👇

Java 21 открывает новую эпоху конкурентности с виртуальными потоками — лёгкими потоками, управляемыми JVM, которые значительно повышают производительность I/O-bound приложений. Подробнее - https://lttr.ai/Ap1Np #Java #MongoDB #VirtualThread 👉 Java Portal

Большинство проектов на Spring Boot обрабатывают конфигурацию одинаково: плоские классы с @ConfigurationProperties, строковые имена свойств и надежда на то, что все прочитают README. В Apereo CAS — более 1000 свойств в 633 конфигурационных классах. Автор написал статью о том, как система конфигурации остаётся навигируемой при таком масштабе: https://medium.com/all-things-software/spring-boot-configuration-properties-at-scale-884f494721ac 👉 Java Portal

Совет по Java : Если нужно посчитать количество вхождений элемента в списке, можно использовать Collections.frequency(...). #
Совет по Java : Если нужно посчитать количество вхождений элемента в списке, можно использовать Collections.frequency(...). #Java #Collections 👉 Java Portal

Java Spring Boot: Не допускайте эту ошибку с фильтрами/интерцепторами Многие используют фильтры и интерцепторы неправильно Он
Java Spring Boot: Не допускайте эту ошибку с фильтрами/интерцепторами Многие используют фильтры и интерцепторы неправильно Они должны использоваться только для сквозных задач (то есть для того, что применяется ко ВСЕМ запросам) Примеры корректного использования: [Фильтры]: - CORS - Кодировка [Интерцепторы]: - Аутентификация/Авторизация - Метрики/Логирование - Локаль - Общие заголовки [Основная ошибка]: размещать там бизнес-логику Например: - выполнение запросов к базе данных - проверка подписок - сложная логика Почему это плохо: - выполняется для КАЖДОГО запроса - создаёт дополнительную нагрузку - нарушает архитектуру - усложняет тестирование Вывод: - интерцептор превращается в «мусорный слой» Как делать правильно: - бизнес-логика → в сервисах - контроллеры → оркестрация 👉 Java Portal

Совет по Java: начиная с Java 15 можно использовать String.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 Portal

Spring Boot — большой фреймворк, на освоение которого могут уйти годы. Но, на мой взгляд, достаточно знать ключевые возможности и иметь практический опыт с наиболее часто используемыми фичами, чтобы считаться “готовым к работе”. Roadmap для начинающих по Spring Boot : читать 👉 Java Portal

Совет по Java: избегайте накладных расходов на boxing, используя потоки примитивов. ❌Создание объектов Integer для каждого значения:
Stream<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

Продвинутый совет по Spring Превратите структуру вашего Spring-проекта в тестируемый контракт, который никогда не будет незам
Продвинутый совет по Spring Превратите структуру вашего Spring-проекта в тестируемый контракт, который никогда не будет незаметно деградировать. С помощью Taikai вы можете принудительно проверять архитектурные ограничения с использованием предопределённых правил ArchUnit, см. документацию. https://github.com/enofex/taikai 👉 Java Portal

🇷🇺Разбираешься в радиочипах, оптике и связи? Забери до 2 000 000 рублей за свои инженерные навыки на турнире «Дронкон»🇷🇺
🇷🇺Разбираешься в радиочипах, оптике и связи? Забери до 2 000 000 рублей за свои инженерные навыки на турнире «Дронкон»🇷🇺 «Сталинские Соколы» открывают регистрацию на 3-й Всероссийский турнир «Дронкон», который пройдет с 8 по 14 мая. 2 направления для победы: - Инженерное дело: беспроводная связь, радиочипы и оптические системы + стратегия «Битва Дронов»; - Пилотирование: War Thunder, GeoGuessr и FPV-гонки + стратегия «Битва Дронов». Призовой фонд для победителей одной дисциплины: 🥇место – 2 000 000 рублей 🥈место – 1 500 000 рублей 🥉место – 1 000 000 рублей Награда за 4-8 места - 150 000 рублей Пройди заочный онлайн-этап и получи путевку на очный этап турнира в Республику Татарстан! Перелет, питание, проживание - за счет организаторов. 🇷🇺 Подать заявку и узнать подробности 🇷🇺 Реклама: ИП Райхерт Карина Андреевна ИНН 346001991373 erid: 2Vtzqub7wMp