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

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

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

Другие каналы: @tproger_channels
Download Telegram
Кто быстрее? Тестируем скорость языков программирования на Эльбрусе

Приветствую! Я разработчик в компании НИЦ ЦТ. Мы разрабатываем операционную систему, адаптированную под российские процессоры Эльбрус. Процессоры Эльбрус имеют свою ориггииальную архитектуру которая имеет свои преимущества и недостатки. В частности, интерпретируемые языки программирования не блещут производительностью. Вот мы и решили провести сравнительное тестирование различных языков, компиляторов и интерпретаторов чтобы выяснить, что лучше использовать для разработки под Эльбрус.

В статье представлены результаты бенчмарка Programming language benchmark, основанного на решении набора задач идентичными алгоритмами, реализованными на разных языках. Это позволяет оценить эффективность генерируемого компиляторами (или интерпретаторами) кода для выбранной архитектуры, поскольку скорость выполнения напрямую зависит от архитектурных особенностей процессора. Учитывая использование одного ядра процессора в тестах, результаты отражают потенциал оптимизации кода на низком уровне для каждого языка программирования в рамках заданной аппаратной платформы. Полученные данные позволят разработчикам делать более обоснованный выбор языка программирования для задач, критичных к производительности, с учетом специфики целевой архитектуры.


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

@a_cup_of_java | Другие наши каналы
👎6🤔21😐1
Проверка равенства двух массивов строк в Java
Статья объясняет, как определить, одинаковы ли два массива строк по длине и содержимому. Рассмотрен простой метод с последовательной проверкой каждого элемента, включая обработку null и сравнение по индексам. Такой подход подойдет и для других типов массивов. Топ тем в мире IT и программирования: от Java и Spring до Data Science и Kubernetes. В статье собрана огромная коллекция материалов и курсов, которые помогут прокачать навыки и подготовиться к интервью. Отличный ресурс для разработчиков всех уровней. Архив публикаций за несколько лет: динамика и активность

Текст поста: Представлен подробный архив публикаций блога за период с 2012 по 2024 год. Видно, как менялось количество постов в разные месяцы и годы, отражая динамику активности авторов и развитие проекта.

Подробности: https://www.java67.com/2022/01/how-to-check-if-two-strings-array-are.html

#en

@a_cup_of_java | Другие наши каналы
Как найти и вывести листья бинарного дерева в Java без рекурсии

В статье рассмотрен алгоритм, который с помощью стека позволяет вывести все листовые узлы бинарного дерева без использования рекурсии. Такой подход полезен для подготовки к собеседованиям и сложных задач на структуру данных. Топовые темы для IT-учёбы и работы: от Java и Python до DevOps, микросервисов и машинного обучения. В статье собран обширный список ключевых технологий, курсов и интервью вопросов, полезных для развития и подготовки к собеседованиям в IT. Архив блогов за несколько лет

Текст: В статье представлен архив публикаций за последние годы, демонстрирующий активность по месяцам и годам. Это позволяет проследить динамику и тематику материалов, опубликованных с 2012 по 2021 год. Интересно для тех, кто следит за развитием блога.

Подробности: https://www.java67.com/2016/10/how-to-print-leaf-nodes-of-binary-tree-without-recursion-in-java.html

#en

@a_cup_of_java | Другие наши каналы
3
Создание массивов в Java: основные способы и примеры

В статье рассмотрены базовые методы создания строковых и целочисленных массивов в Java, их инициализация и доступ к элементам через индексы и циклы. Полезно для начинающих изучать структуру данных. Знакомьтесь с обширным ресурсом по программированию: от Java и Spring Boot до машинного обучения и Kubernetes. В статье собраны материалы для подготовки к интервью, изучения технологий и улучшения навыков разработки. Отличный гид для IT-специалистов и новичков. Архив публикаций и политика конфиденциальности сайта

В статье представлена структура архивов по месяцам и годам публикаций, а также информация о политике конфиденциальности и условиях использования сайта. Текст помогает понять, как организован контент и обеспечена защита данных посетителей.

Подробности: https://www.java67.com/2019/10/how-to-make-new-array-in-java.html

#en

@a_cup_of_java | Другие наши каналы
var в java, так долго ждали, чтобы стрельнуть себе в ногу

Появление var в java - хорошо или плохо? Небольшое субъективное рассуждение на тему где это применять, а где нет.


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

@a_cup_of_java | Другие наши каналы
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 — от двоичного поиска и сортировок до обходов бинарных деревьев и реализации связных списков. Полезно для программистов любого уровня.

Подробности: https://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 и паттернов проектирования. Полезный ресурс для подготовки к техническим собеседованиям и прокачки навыков программирования.

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

#en

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

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

Подробности: https://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