ru
Feedback
Чашечка Java

Чашечка Java

Открыть в Telegram

Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels

Больше
8 438
Подписчики
-724 часа
-227 дней
-6430 день
Архив постов
Что такое рекурсия и как её использовать в JavaScript Рекурсия — это техника, когда функция вызывает сама себя для решения за
Что такое рекурсия и как её использовать в JavaScript Рекурсия — это техника, когда функция вызывает сама себя для решения задачи. В статье объясняют основы с примерами: от простой функции до вычисления факториала с контролем завершения, чтобы избежать бесконечного цикла. Что нового в мире Java? Статья содержит обширный список тем — от основ Java и коллекций до современных подходов, таких как функциональное программирование и многопоточность. Полезный ресурс для подготовки к интервью и освоения ключевых технологий. Архив публикаций на блоге Soma Sharma В архиве блога Soma Sharma собраны записи с 2012 по 2021 год, включая материалы за разные месяцы и годы. Представлена возможность подписки на новые публикации по электронной почте. Подробности: http://www.java67.com/2021/11/how-to-use-recursion-in-javascript.html #en @a_cup_of_java | Другие наши каналы

Как найти k-й элемент с конца в связном списке на Java? В статье описан эффективный способ решения задачи за один проход с по
Как найти k-й элемент с конца в связном списке на Java? В статье описан эффективный способ решения задачи за один проход с помощью двух указателей — медленного и быстрого. Этот метод позволяет быстро находить нужный элемент без повторного обхода списка. Как работает условие в цикле for? В статье рассматривается смысл и особенности условия в цикле for, объясняется, как оно влияет на выполнение цикла и почему важно правильно его использовать для оптимизации кода. Это полезно для начинающих и опытных программистов. Полезные приёмы работы с массивами и структурами данных в Java В статье рассмотрены основные методы работы с массивами и структурами данных на Java: сортировка, поиск, удаление элементов, а также реализация алгоритмов сортировки и обхода деревьев. Полезно для новичков и опытных разработчиков. Подробности: http://www.java67.com/2020/04/how-to-find-kth-node-from-end-in-linked-list-java.html #en @a_cup_of_java | Другие наши каналы

Основы работы с массивами в Java Статья подробно объясняет, как создавать и обрабатывать массивы в Java, включая сортировку, сравнение и преобразование в другие структуры данных. Практические примеры помогут как новичкам, так и опытным разработчикам освежить знания. Подробности: http://www.java67.com/2018/02/10-examples-of-array-in-java-tutorial.html #en @a_cup_of_java | Другие наши каналы

Пишем 3D-игру весом в 600Кб… Ч. 1 ...которая работает на первом Android-смартфоне в мире, ретро-компьютерах из 90-х и даже Mac'ах! Иногда у меня лежит душа просто взять и написать какую-нибудь небольшую игрушку с нуля, без использования готовых движков. В процессе разработки я ставлю перед собой интересные задачки: игра должна весить как можно меньше, работать на как можно большем числе платформ и использовать нетипичный для меня архитектурный паттерн. Недавно я написал трёхмерные «танчики», которые весят всего лишь 600 килобайт и в рамках подробной статьи готов рассказать о всех деталях разработки трёхмерной игры с нуля в 2025 году. Если вам интересно узнать, как работают небольшие 3D-демки «под капотом» от написания фреймворка до разработки геймплея — жду вас под катом! Читать: https://habr.com/ru/companies/timeweb/articles/918270/?utm_campaign=918270 @a_cup_of_java | Другие наши каналы

Docker выпустил новые усиленные базовые образы, которые снижают уязвимости до 95%. Эти минималистичные образы с автоматически
Docker выпустил новые усиленные базовые образы, которые снижают уязвимости до 95%. Эти минималистичные образы с автоматическим обновлением обеспечивают безопасность контейнеров и совместимы с популярными базовыми образами, упрощая их интеграцию в существующие проекты. Подробности: https://www.infoq.com/news/2025/06/docker-hardened-images/ #en @a_cup_of_java | Другие наши каналы

История Java: развитие, изучение Марса, битва с Microsoft, Spring, Gradle и Maven, IntelliJ IDEA и Eclipse От появления до покорения Красной планеты. В этой статье — история языка Java: от первых шагов и битвы с Microsoft до инструментов, без которых не обходится ни один Java разработчик. И да, вы узнаете, при чём здесь дуб, кофе и остров. Читать: https://habr.com/ru/companies/pvs-studio/articles/920360/?utm_campaign=920360 @a_cup_of_java | Другие наши каналы

Эпизод 1: «Скобка, паб и виски с валидацией» KafkaRail гудел на фоне. Паб The Broken Tag, где начиналось утро героев, только просыпался — запах старого эля, крошки лог‑файлов, и бильярдный стол под тусклым светом прожектора. Через узел маршрута /corp/news метропоезд пронёсся, как push‑уведомление на рассвете. День в Киберляндии начинался. JSON откинул капюшон куртки BitStone Protocol с QR‑патчем на рукаве, кивнул Mr. Parseley и заказал, как обычно, Schema Fresca. Он прошёл к бильярдному столу английского пула, стоявшему под старым плакатом «Keep Calm and Close Tags», где RAMmy спорил с TryCatch о синтаксисе ударов. Читать: https://habr.com/ru/articles/920316/?utm_campaign=920316 @a_cup_of_java | Другие наши каналы

Как написать микробенчмарк Команда Spring АйО перевела статью, в которой приведено несколько правил, которые следует учитывать при написании микробенчмарков для HotSpot JVM. Читать: https://habr.com/ru/companies/spring_aio/articles/920146/?utm_campaign=920146 @a_cup_of_java | Другие наши каналы

Трудности обслуживания приложений под Android Недавно наткнулся на новость о том, что количество приложений в Google Play Store сократилось на 47%. Я сам энтузиаст разработки под Android и последние 5 лет работал над альтернативой для Google Play Music и Podcast под названием MusicSync. Так что, будучи близким к теме человеком, мне захотелось поделиться своим опытом обслуживания приложений и заодно пояснить, почему меня эта новость нисколько не удивила. У меня есть несколько сторонних проектов, базирующихся на бэкенд-сервере с ограниченным веб-интерфейсом, и их обслуживание требует намного меньше усилий. Если же говорить о приложении Android, то обслуживать его в качестве хобби-проекта гораздо хлопотнее. Вот некоторые из проблем, с которыми мне приходилось сталкиваться. Читать: https://habr.com/ru/companies/ruvds/articles/919434/?utm_campaign=919434 @a_cup_of_java | Другие наши каналы

WaveManager: Реализуем систему управления волнами врагов в Unity Реализация системы управления волнами для создания захватывающих столкновений с противниками — это достаточно эффективный способ постепенно увеличивать сложность, поддерживая вовлеченность игроков. В этом руководстве я поделюсь с вами своим опытом реализации WaveManager'а в Unity, включая создание скриптов, генерацию врагов и интеграцию пользовательского интерфейса. Читать: https://habr.com/ru/companies/otus/articles/919928/?utm_campaign=919928 @a_cup_of_java | Другие наши каналы

Фильтрация предупреждений PVS-Studio, выявляющих критические ошибки (согласно классификации ГОСТ Р 71207-2024) ГОСТ Р 71207-2024 "Статический анализ кода" выделят класс дефектов в коде, называемых критическими ошибками. При разработке безопасного программного обеспечения (РБПО) такие дефекты должны в обязательном порядке выявляться и исправляться в приоритетном режиме. Статический анализатор PVS-Studio разрабатывается с учётом этого стандарта и позволяет выявлять все типы критических ошибок в коде программ, написанных на языках C, C++, C#, Java. Рассмотрим эти типы предупреждений и как их можно выделить среди других предупреждений, выдаваемых анализатором. Читать: https://habr.com/ru/companies/pvs-studio/articles/919456/?utm_campaign=919456 @a_cup_of_java | Другие наши каналы

Создание плагина для Keycloak: Загрузка пользователей из внешнего API Если вы работаете с Keycloak и сталкивались с необходимостью интеграции внешних пользовательских данных — этот материал для вас. В данной статье я подробно описываю процесс создания плагина на Java для Keycloak. Мы будем рассматривать все этапы разработки, начиная с основ и заканчивая примерами кода и объяснениями каждого шага. Этот плагин позволяет подключить вашу собственную базу данных через внешний API-сервис. Это дает возможность использовать необходимые данные для вашего проекта без необходимости переписывать часть приложения или вручную переносить информацию из одной системы в другую. Читать: https://habr.com/ru/articles/919230/?utm_campaign=919230 @a_cup_of_java | Другие наши каналы

Почему Exceptions в Java не взлетели — и что с этим делать в 2025 году Всем привет! Меня зовут Илья, я работаю в Райффайзен Банке. Мы пишем свои бэкенд-сервисы на Java и Kotlin, поэтому зачастую приходится переключаться с одного языка на другой. Из-за этого невольно начинаешь сравнивать подходы и механизмы одного языка с его JVM-собратом. Сегодня я бы хотел поговорить об одном из таких механизмов — пропагации ошибок и исключений. Используете ли вы в своем коде исключения? Ответ кажется странным, так как исключения являются неотъемлемой частью Java. Но что, если я спрошу, используете ли вы исключения для управления логикой своей программы? Читать: https://habr.com/ru/companies/raiffeisenbank/articles/919152/?utm_campaign=919152 @a_cup_of_java | Другие наши каналы

Данные важнее объектов: что такое Data-Oriented Programming Статья рассказывает о Data-Oriented Programming — подходе, которы
Данные важнее объектов: что такое Data-Oriented Programming Статья рассказывает о Data-Oriented Programming — подходе, который фокусируется на эффективном хранении и обработке данных для максимальной производительности. Это особенно полезно в играх и торговле, где скорость и оптимизация критичны. Подробности: https://www.infoq.com/articles/data-oriented-programming/ #en @a_cup_of_java | Другие наши каналы

Java 25 интегрировал компактные заголовки объектов по JEP 519, что уменьшает размер заголовка с 12 до 8 байт. Это снижает наг
Java 25 интегрировал компактные заголовки объектов по JEP 519, что уменьшает размер заголовка с 12 до 8 байт. Это снижает нагрузку на CPU до 30% и улучшает работу с памятью без изменения кода, ускоряя приложения и снижая затраты. Подробности: https://www.infoq.com/news/2025/06/java-25-compact-object-headers/ #en @a_cup_of_java | Другие наши каналы

ScyllaDB: как настраивать метрики в java-драйвере и параметры запросов для измерения их характеристик Привет, Хабр! Это Александр Коваль, я разработчик IoT-сервисов в МТС Web Services. При работе с данными часто возникает вопрос: как быстро система может вернуть результат по определенным параметрам? Не является исключением и ScyllaDB. Для ответа нужны инструменты измерения и возможность настраивать систему. Java-драйвер для ScyllaDB умеет передавать информацию о своей внутренней работе, и ему можно настроить отдельные компоненты. Звучит как отличный план — в этом материале я поделюсь результатами экспериментов с java-драйвером для ScyllaDB при различных запросах к данным. Код, ссылки и ресурсы располагаются в GitHub. Читать: https://habr.com/ru/companies/ru_mts/articles/916684/?utm_campaign=916684 @a_cup_of_java | Другие наши каналы

Используйте Camunda как удобный REST-движок для оркестрации и workflow — без необходимости работать с Java Я много общаюсь о микросервисных архитектурах с «не-Java-людьми» — будь то разработчики на C#, энтузиасты Node.JS/JavaScript или GoLang. Все они сталкиваются с необходимостью оркестрации в микросервисной архитектуре — или просто хотят использовать workflow, упорядочивание действий, обработку таймаутов, Saga и компенсации, а также другие полезные возможности. Open Source BPM-платформа Camunda отлично подходит для этих задач. Ориентированность на разработчиков — один из ключевых принципов продукта, но при изучении документации может показаться, что она рассчитана в основном на Java-разработчиков. Платформа предоставляет множество точек расширения и интеграции, но всё это реализуется на Java. Значит ли это, что другим разработчикам путь закрыт? Нет! На самом деле, запустить Camunda и работать с ней без знания Java очень просто — архитектуру можно выстроить так, чтобы писать код на любом удобном языке. В этом посте: Читать: https://habr.com/ru/articles/915858/?utm_campaign=915858 @a_cup_of_java | Другие наши каналы

Офер в VK для бэкенд-разработчиков — попадите в команду за выходные 28–29 июня пройдёт VK Weekend Offer. Всего за 2 дня вы см
Офер в VK для бэкенд-разработчиков — попадите в команду за выходные 28–29 июня пройдёт VK Weekend Offer. Всего за 2 дня вы сможете пройти весь путь от знакомства с командами до приглашения на работу: встретиться с лидами, пройти технические собеседования и получить офер. Языки программирования — Java, Go, Python, C++. Главное требование — от 3 лет реального опыта в бэкенде. Читайте подробности на сайте и подавайте заявку до 25 июня! Это #партнёрский пост

Новое в мире Java: шестой milestone Spring Framework 7.0, свежий релиз Payara Platform июня 2025, обновления Jakarta EE 11 пе
Новое в мире Java: шестой milestone Spring Framework 7.0, свежий релиз Payara Platform июня 2025, обновления Jakarta EE 11 перед релизом GA и переименование Apache Fury в Apache Fory. Подробности о ключевых апдейтах JDK, Micronaut и других платформах. Подробности: https://www.infoq.com/news/2025/06/java-news-roundup-jun09-2025/ #en @a_cup_of_java | Другие наши каналы

Мониторинг «здесь и сейчас»: используем потоки событий JDK Flight Recorder JDK Flight Recorder (JFR) — это диагностическая подсистема, встроенная в JVM. В основе JFR лежит очень простая идея, но вокруг нее выросла разнообразная экосистема решений, позволяющих решать широкий спектр задач. В данной статье я хочу сфокусироваться на одном аспекте технологии JFR — потоковой обработке событий. Потоковая обработка появилась в JDK 14 в виде Flight Recorder Event Streaming API и позволяет прикладному коду обрабатывать события JFR с минимальной задержкой. Читать: https://habr.com/ru/companies/axiomjdk/articles/917766/?utm_campaign=917766 @a_cup_of_java | Другие наши каналы