Чашечка Java
8.57K subscribers
3.88K photos
13 videos
56 files
6.33K links
Лучшие материалы по Java на русском и английском

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels
Download Telegram
Apple перевела ключевую службу Password Monitoring с Java на Swift, что улучшило производительность на 40% и сократило использование памяти почти вдвое. Это повысило масштабируемость и снизило задержки при обработке миллиардов запросов в сутки. Такой переход отражает тренд на выбор более эффективных языков для масштабных сервисов.

Подробности: https://www.infoq.com/news/2025/06/apple-swift-migration/

#en

@a_cup_of_java | Другие наши каналы
С приветом по спекам: ENUM. Часть 1

В этой статье я хочу разобраться в теме перечислений и поделиться результатами своих исследований.

Основой моего анализа станет спецификация Java, а именно раздел, касающиеся ENUM
(Java Language Specification SE 24). Я постараюсь превратить сложные формулировки в понятное и доступное изложение с кучей примеров. Цель - сделать статью интересной и легко читаемой, убрав лишнюю техническую сложность.


Читать: https://habr.com/ru/articles/917990/?utm_campaign=917990

@a_cup_of_java | Другие наши каналы
Проверка анаграмм в Java: как определить, что две строки содержат одинаковые символы в разном порядке?

В статье приведены два способа — с использованием сортировки и без библиотечных методов, что особенно полезно для подготовки к собеседованиям по программированию. Лучшие курсы и руководства для программистов. В статье собраны актуальные онлайн-курсы по Linux, JavaScript, алгоритмам, DevOps и многим другим темам, а также полезные туториалы по работе со строками и популярным технологиям. Отличный ресурс для повышения квалификации. Обзор популярных алгоритмов и структур данных в Java

Статья рассказывает о ключевых методах работы с массивами и структурами данных в Java — от двоичного поиска и сортировок до обходов бинарных деревьев и реализации связных списков. Полезно для программистов любого уровня.

Подробности: http://www.java67.com/2019/04/how-to-check-if-two-string-are-anagram.html

#en

@a_cup_of_java | Другие наши каналы
Топ-25 задач по связным спискам для Java-программистов. Статья раскрывает ключевые вопросы и решения, которые помогут подготовиться к собеседованиям по программированию, от разворота списка до обнаружения циклов и работы с рекурсией. Незаменимо для улучшения навыков работы с этой структурой данных. Бесплатные курсы DSA для начинающих

Если вы хотите прокачать навыки структур данных и алгоритмов, обратите внимание на бесплатные онлайн-курсы на Udemy и других платформах. Более миллиона студентов уже начали обучение на курсах с поддержкой Java, Python, C и C++. Все, что нужно знать о популярных вопросах на интервью по Java: от коллекций и многопоточности до Hibernate, Spring и паттернов проектирования. Полезный ресурс для подготовки к техническим собеседованиям и прокачки навыков программирования.

Подробности: http://www.java67.com/2022/11/15-linked-list-interview-questions-for.html

#en

@a_cup_of_java | Другие наши каналы
Топ-40 задач по бинарным деревьям для подготовки к интервью. В статье собраны популярные вопросы с решениями на Java, которые помогут укрепить знания о бинарных деревьях и алгоритмах работы с ними. Отличный материал для программистов, готовящихся к собеседованиям. Бесплатный курс по структурам данных и алгоритмам от инженера Google доступен на Udemy. Курс поможет улучшить знания и подготовиться к интервью, охватывая важные темы и практические задания. Отличный ресурс для разработчиков любого уровня. Как найти и вывести листовые узлы бинарного дерева на Java

В статье рассмотрены методы поиска и вывода листьев бинарного дерева с примерами на Java. Полезно для тех, кто изучает структуры данных и готовится к собеседованиям по программированию.

Подробности: http://www.java67.com/2020/02/top-40-binary-tree-interview-questions.html

#en

@a_cup_of_java | Другие наши каналы
2
Forwarded from Код найма
Хватит искать работу в одиночку!

Ты крутой айтишник, но поиск работы превращается в квест: бесконечные резюме, где важны не навыки, а кейворды, десятки собеседований и постоянный стресс. Знакомо? Всё это выматывает и демотивирует. Мы тебя понимаем — и готовы поддержать!

Команда Tproger открывает первое реалити-шоу в Телеграм о поиске работы — «Код найма».

Вместе с опытными менторами ты пройдешь все этапы найма:

➡️ Прокачаешь резюме так, чтобы его заметили
➡️ Научишься проходить собеседования без волнения
➡️ Получишь честную обратную связь от рекрутеров
➡️ И, главное, дойдёшь до оффера в компании мечты!

Весь путь будет проходить на глазах у подписчиков канала — они тоже смогут давать советы и поддерживать тебя.

Хочешь стать героем нашего реалити и получить шанс найти работу мечты?

✍️ Заполняй анкету

Мы выберем трёх участников, которым поможем пройти весь путь до оффера.

Присоединяйся к «Коду найма» — и пусть твой следующий оффер станет началом новой жизни!
Please open Telegram to view this post
VIEW IN TELEGRAM
Конечные автоматы (FSM) Просто о сложном

Что такое конечный автомат (FSM) и зачем он нужен программисту? Эта статья простыми словами объясняет концепцию FSM, его компоненты, преимущества и реализацию на JavaScript с примерами. Разберём логику состояний, событий и переходов без сложной теории.

Читать: «Конечные автоматы (FSM) Просто о сложном»

@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 | Другие наши каналы
Новое в мире 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 | Другие наши каналы
Используйте 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 | Другие наши каналы
3
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 | Другие наши каналы
2👍1
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 | Другие наши каналы
👍61
Данные важнее объектов: что такое Data-Oriented Programming

Статья рассказывает о Data-Oriented Programming — подходе, который фокусируется на эффективном хранении и обработке данных для максимальной производительности. Это особенно полезно в играх и торговле, где скорость и оптимизация критичны.

Подробности: https://www.infoq.com/articles/data-oriented-programming/

#en

@a_cup_of_java | Другие наши каналы
1
Почему Exceptions в Java не взлетели — и что с этим делать в 2025 году

Всем привет!

Меня зовут Илья, я работаю в Райффайзен Банке. Мы пишем свои бэкенд-сервисы на Java и Kotlin, поэтому зачастую приходится переключаться с одного языка на другой. Из-за этого невольно начинаешь сравнивать подходы и механизмы одного языка с его JVM-собратом. Сегодня я бы хотел поговорить об одном из таких механизмов — пропагации ошибок и исключений.

Используете ли вы в своем коде исключения? Ответ кажется странным, так как исключения являются неотъемлемой частью Java. Но что, если я спрошу, используете ли вы исключения для управления логикой своей программы?


Читать: https://habr.com/ru/companies/raiffeisenbank/articles/919152/?utm_campaign=919152

@a_cup_of_java | Другие наши каналы
👎6🔥2
Создание плагина для Keycloak: Загрузка пользователей из внешнего API

Если вы работаете с Keycloak и сталкивались с необходимостью интеграции внешних пользовательских данных — этот материал для вас.

В данной статье я подробно описываю процесс создания плагина на Java для Keycloak. Мы будем рассматривать все этапы разработки, начиная с основ и заканчивая примерами кода и объяснениями каждого шага.

Этот плагин позволяет подключить вашу собственную базу данных через внешний API-сервис. Это дает возможность использовать необходимые данные для вашего проекта без необходимости переписывать часть приложения или вручную переносить информацию из одной системы в другую.


Читать: https://habr.com/ru/articles/919230/?utm_campaign=919230

@a_cup_of_java | Другие наши каналы
4👍1
Фильтрация предупреждений 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 | Другие наши каналы
🌭3
WaveManager: Реализуем систему управления волнами врагов в Unity

Реализация системы управления волнами для создания захватывающих столкновений с противниками — это достаточно эффективный способ постепенно увеличивать сложность, поддерживая вовлеченность игроков. В этом руководстве я поделюсь с вами своим опытом реализации WaveManager'а в Unity, включая создание скриптов, генерацию врагов и интеграцию пользовательского интерфейса.


Читать: https://habr.com/ru/companies/otus/articles/919928/?utm_campaign=919928

@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 | Другие наши каналы
Как написать микробенчмарк

Команда Spring АйО перевела статью, в которой приведено несколько правил, которые следует учитывать при написании микробенчмарков для HotSpot JVM.


Читать: https://habr.com/ru/companies/spring_aio/articles/920146/?utm_campaign=920146

@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 | Другие наши каналы
1
История 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 | Другие наши каналы