Чашечка Java
Открыть в Telegram
Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels
Больше8 568
Подписчики
Нет данных24 часа
-67 дней
-3030 день
Архив постов
8 568
Method Handles быстрее рефлексии (иногда)
Как Java поддерживает динамические вызовы? От медленной рефлексии до оптимизированных MethodHandle и invokedynamic — изучаем эволюцию динамизма в JVM. Разбираем внутреннее устройство MethodHandle и какие роли играют CallSite и invokedynamic.
Читать: https://habr.com/ru/companies/pvs-studio/articles/930720/?utm_campaign=930720
@a_cup_of_java | Другие наши каналы
8 568
Mobile System Design. Проектируем новостную ленту
Элементы System Design уже прочно вошли в процесс собеседований. Однако в мобильной разработке довольно часто возникает недопонимание что же все-таки необходимо продемонстрировать чтобы получить заветный офер. В этой статье я разберу один из кейсов, который может встретиться на реальном собеседовании и кроме этого покажу примерный сценарий такого интервью. Данная статья будет интересна мобильным разработчикам, как Android, так и iOS. Сам формат System Design Interview я разбирал в предыдущей статье. Здесь же мы сконцентрируемся на практике.
Итак, задача: спроектировать новостную ленту.
Читать: https://habr.com/ru/articles/930898/?utm_campaign=930898
@a_cup_of_java | Другие наши каналы
8 568
Пишем агента на Kotlin: KOSMOS
Интернет завален реализациями на Питоне, но иногда удобнее разбираться с технологиями на своём основном языке. Для мен;я это Kotlin.
Если вы программист, наверняка к вам приходят знакомые и предлагают писать агентов. Реализовав оного самостоятельно, вы поймете, что задача из себя представляет.
Статья обещает соблюдать два принципа, упрощающих восприятие:
‣ Движение от частного к общему, потому что легче воспринимать примеры, чем абстракцию.
‣ Быстрая обратная связь, как с REPL.
Агента реализуем так, чтобы легко было заменить лежащую в основе LLM. Посмотрим, как отличается работа при использовании REST API в сравнении с SDK, пощупаем Гигачат и Anthropic.
Ах да, 🪐 KOSMOS — акроним. Kotlin Open Synthetic Mind Orbiting System.
Читать: https://habr.com/ru/articles/930524/?utm_campaign=930524
@a_cup_of_java | Другие наши каналы
8 568
Structured Concurrency в Java: наконец-то находит опору
API structured concurrency в Java наконец-то обрёл устойчивость. В новом переводе от команды Spring АйО подробно рассматриваются последние изменения, появившиеся с выходом JEP 505: фабричный метод
open(), политики Joiner'ов, улучшенная отмена задач, дедлайны, передача контекста через ScopedValues и строгая защита от ошибок использования. Всё это делает параллельное программирование в Java более безопасным, читаемым и управляемым.
Читать: https://habr.com/ru/companies/spring_aio/articles/930812/?utm_campaign=930812
@a_cup_of_java | Другие наши каналы8 568
Обнови JDK — живи спокойно. И Libercat тоже
Если вы держите свои продакшн-инстансы на Axiom JDK и Libercat, ловите апдейт: вышли свежие релизы безопасности Java-стека. Делимся, что внутри и почему это важно.
Читать: https://habr.com/ru/companies/axiomjdk/articles/930508/?utm_campaign=930508
@a_cup_of_java | Другие наши каналы
8 568
Spring Data JDBC и R2DBC 4.0 получат поддержку составных идентификаторов
Эксперт Spring АйО и по совместительству Spring Data контрибьютор Михаил Поливаха прокомментировал статью, переведенную командой Spring АйО, про поддержку составных ключей со стороны Spring Data JDBC и R2DBC, начиная с версии 4.0.0-M4 — то, чего так не хватало при работе с моделями, где первичный ключ состоит из нескольких полей.
Теперь достаточно просто описать
record с нужными полями, пометить его как @Id, и Spring Data сам корректно построит SQL-сущность. В статье наглядно показано, как использовать новую возможность, какие аннотации пригодятся и как обойти ограничение с автоинкрементом через BeforeConvertCallback.
Читать: https://habr.com/ru/companies/spring_aio/articles/930354/?utm_campaign=930354
@a_cup_of_java | Другие наши каналы8 568
Разбор задачи из реального собеседования по мобильной разработке. Исправляем Race Condition
Все чаще и чаще при найме в крупные (и не очень) компании кандидатам задают алгоритмические задачи и System Design. Как проходить System Design в контексте мобильной разработки я подробно описывал тут. Помимо сугубо алгоритмических задач, могут встретиться задачи по параллельному программированию где нужно вспомнить java.util.concurrent. В этой статье мы разберем одну из таких задач.
Задача звучит так: предположим у вас есть класс:
Читать: https://habr.com/ru/articles/930468/?utm_campaign=930468
@a_cup_of_java | Другие наши каналы
8 568
Что такое магистратура для инженеров данных и почему сейчас — лучшее время поступать
Спрос на инженеров данных растет, и магистратура — лучший способ освоить профессию. Читайте, как программы Нетологии и НИУ ВШЭ готовят специалистов для работы с данными и что нужно для поступления в 2025 году.
Читать: «Что такое магистратура для инженеров данных и почему сейчас — лучшее время поступать»
@a_cup_of_java | Другие наши каналы
8 568
Spring AI 1.0: простой старт в мире ИИ для Java-разработчиков. Новый фреймворк интегрируется со Spring Boot и поддерживает большие языковые модели, мультимодальное ИИ и современные паттерны для создания масштабируемых и конфиденциальных AI-приложений. Как создать AI-ассистента на Spring Boot с OpenAI API? В статье показано, как подключить модель, хранить данные о собаках в PostgreSQL и использовать векторное хранилище для релевантных ответов. Также реализована память чата и расписание для записи на приём. Новый уровень AI с Spring: интеграция с Model Context Protocol позволяет создавать масштабируемые Java-приложения с поддержкой планировщика задач и безопасностью. GraalVM ускоряет запуск, а мониторинг ресурсов помогает контролировать расходы на работу моделей. Java и Spring — будущее AI в продакшене.
Подробности: https://www.infoq.com/articles/spring-ai-1-0/
#en
@a_cup_of_java | Другие наши каналы
8 568
Geely и ECARX, что с вами не так?
Периодически читая Хабр, я еще не находил статей, описывающих внутренний мир штатных головных устройств (далее — ГУ) на базе Android, хотя я уверен, что не только мне было бы интересно, как там всё устроено и работает. Речь пойдет про одни из самых популярных авто на нашем рынке: Geely Coolray и частично Geely Tugella.
Эта статья обещает быть длинной с вырезками кода из JADX и не только, добро пожаловать под кат.
Читать: https://habr.com/ru/articles/930138/?utm_campaign=930138
@a_cup_of_java | Другие наши каналы
8 568
Перенастроить тысячи удаленных устройств — Java, SSH, Native executable
Привет, Хабр!
Начну с того, что немного уточню, о каких именно устройствах пойдёт речь. Ни для кого не секрет, что для организации мобильной связи используются базовые станции, на которых стоит много разного электрооборудования. А значит, за энергопотреблением надо следить, отчитываться и оплачивать его. Естественно, всё это логично делать удалённо, для чего на базовых станциях установлены специальные устройства сбора и передачи данных (далее УСПД).
Основная задача УСПД — это опрос подключённого к нему оборудования (электросчётчиков, резервных генераторов и других устройств, необходимых для работы базовых станций) с последующей передачей собранных данных на серверы МегаФона, где в дальнейшем они используются для формирования отчётности, анализа и управления работой базовых станций. По сути, это классическая IoT-система.
Речь пойдёт как раз о перенастройке УСПД.
Читать: https://habr.com/ru/companies/megafon/articles/929832/?utm_campaign=929832
@a_cup_of_java | Другие наши каналы
8 568
Какие планы на 30 августа? Есть возможность попасть на JVM Day — профильную конференцию для разработчиков.
В планах:
— обсудить кейсы, нестандартные решения и инженерные практики;
— послушать доклады специалистов из Сбера, Т-Банка, Яндекса, 2ГИС, Squad, 01. tech;
— проводить сезон на афтепати в компании единомышленников.
Часть вырученных на мероприятии средств пойдет на поддержку региональных вузов.
Встреча пройдет в штаб-квартире Т-Банка, а узнать подробности и купить билеты можно тут.
Это #партнёрский пост
8 568
Рецензия на книгу “Программируем на Java: практический подход к созданию надежных и эффективных приложений”
Теперь и на русском языке! Аарон Плоетц представил свое практическое руководство по Java 21 — вполне себе современному изданию, наполненному реальными примерами, охватывающими всю экосистему: от базовых конструкций языка и новых возможностей версии 21, через работу с реляционными и NoSQL‑базами (PostgreSQL и Cassandra), до создания GUI‑веб‑приложений на Spring Boot и Vaadin, и даже простых игр с анимацией. Книга получила высокие оценки читателей на Амазон — 4.2 звезд из 5.
Читать: https://habr.com/ru/companies/ssp-soft/articles/929472/?utm_campaign=929472
@a_cup_of_java | Другие наши каналы
8 568
Как преобразовать строку с разделителями в ArrayList в Java
Статья объясняет, как с помощью split() и Arrays.asList() преобразовать строку с разделителями (например, запятыми) в ArrayList. Важно сначала создать фиксированный список, а затем скопировать его в полноценный ArrayList для возможности изменения. Лучшие курсы и практические руководства по программированию на Java, DevOps, MERN, Microservices и другим востребованным технологиям. Включены уроки по работе со строками, массивами, коллекциями и многим другим. Полезно для развития навыков и подготовки к собеседованиям. Преобразование и работа с датами в Java: обзор методов и примеров. В статье рассмотрены способы конвертации строк в даты, преобразования между типами Date, LocalDate, LocalDateTime и работы с форматированием, что поможет упростить управление временными данными в Java.
Подробности: http://www.java67.com/2017/09/how-to-convert-comma-separated-string-to-ArrayList-in-java-example.html
#en
@a_cup_of_java | Другие наши каналы
8 568
Как открыть диалог сохранения файла в Java Swing?
В статье рассказывается, как использовать класс JFileChooser для отображения окна выбора файла в Java Swing. Приведен пример кода, показывающий, как вызвать диалог сохранения и получить путь выбранного файла без дополнительных библиотек. Лучшие ресурсы для подготовки к техническим интервью: охват тем от Java и Spring до Kubernetes и машинного обучения. В статье собраны актуальные вопросы и советы для успешного прохождения собеседований в IT. Полезно для разработчиков и тестировщиков на всех уровнях. Архив публикаций за последние годы
В статье представлен объемный архив публикаций с 2012 по 2024 год. Отмечены количество материалов по месяцам и годам, что позволяет проследить динамику активности и тематику контента в разные периоды.
Подробности: http://www.java67.com/2020/04/jfilechooser-example-show-open-save-file-dialong-java-swing.html
#en
@a_cup_of_java | Другие наши каналы
8 568
Основы float и double в Java: почему важно правильно использовать эти типы данных. В статье объясняется отличие float и double, ограничения точности и почему для финансовых вычислений лучше применять BigDecimal. Также раскрываются тонкости сравнения и работы с этими типами в Java. Лучшие курсы для программистов в одном месте
Подборка включает курсы по Java, Python, Linux, DevOps, системному дизайну и многим другим популярным направлениям. Также доступны бесплатные материалы для быстрого старта и повышения квалификации. Полезно для всех, кто хочет прокачать IT-навыки. Где применяется Python в реальной жизни?
Python активно используют в веб-разработке, анализе данных, машинном обучении и автоматизации. Язык востребован благодаря простоте и широкой поддержке сообществ, что делает его популярным среди специалистов разных направлений.
Подробности: http://www.java67.com/2019/10/deep-dive-into-float-and-double-datatypes-in-java.html
#en
@a_cup_of_java | Другие наши каналы
8 568
Java: старт второй фазы Rampdown JDK 25 и обновления в экосистеме
JDK 25 перешёл во вторую фазу Rampdown — новые функции закрыты, идут исправления багов. Также вышли обновления Spring Framework 7, Payara Platform, Open Liberty и появились новые возможности у Eclipse DataGrid.
Подробности: https://www.infoq.com/news/2025/07/java-news-roundup-jul14-2025/
#en
@a_cup_of_java | Другие наши каналы
8 568
Spring Security
Spring Security – это мощный и важный фреймворк в Spring
для обеспечения безопасности приложения при помощи аутентификации
и авторизации. Основан на цепочке фильтров. Например, в Spring Security 6.5.1.
по умолчанию стандартная цепочка фильтров (FilterChainProxy) содержит
до 12-16 фильтров, выполняющих различные механизмы проверки.
Стоит отметить, что точное количество фильтров зависит от конфигурации.
Читать: https://habr.com/ru/articles/927788/?utm_campaign=927788
@a_cup_of_java | Другие наши каналы
8 568
REST API в облаке: пошаговый гайд на Java + Spring
Представьте, что у вас есть бэкенд-приложение с REST API и вы хотите обращаться к нему не только с локальной машины, но и из интернета — через браузер, Postman, фронтенд или мобильное приложение. Для этого можно настраивать маршрутизацию, туннелирование, искать белый IP — или просто задеплоить приложение в облако. Под катом — пошаговая инструкция, в которой развернем Java-приложение на облачном сервере и пошагово пройдем весь процесс — от сборки до запуска и обращения к API извне.
Изучить инструкцию
Читать: https://habr.com/ru/companies/selectel/articles/927736/?utm_campaign=927736
@a_cup_of_java | Другие наши каналы
8 568
«Эра Flink 2.0»: что реально меняется в архитектуре real‑time вычислений
Apache Flink 2.0 — первый мажорный релиз после 1.0 (2016), закрывающий многолетний цикл эволюции архитектуры и устраняющий накопленные болевые точки масштабирования потоковых платформ: усложняющуюся конфигурацию, ограниченность локального состояния, разрыв между batch и streaming, устаревшие API и операционную стоимость при росте AI/real‑time сценариев. В команде BitDive мы уже используем Flink 2.0 для низколатентной обработки потоковых метрик и трассировок (агрегация, выделение аномалий) — это позволило ускорить recovery и снизить стоимость вычислений по сравнению с линией 1.20.x.
Читать: https://habr.com/ru/articles/929222/?utm_campaign=929222
@a_cup_of_java | Другие наши каналы
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
