Чашечка 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
Анатомия неудачного микробенчмарка

В новом переводе от команды Spring АйО подробно разбираются концептуальные, методологические и технические ошибки, на которые легко наткнуться при попытке протестировать такие механизмы, как synchronized и ReentrantLock. Автор объясняет, почему микробенчмарки часто измеряют не то, что вы думаете, и почему для получения осмысленных результатов лучше использовать макротесты или полагаться на экспертов.


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

@a_cup_of_java | Другие наши каналы
2👍1🔥1
Что такое class-файл в Java и зачем он нужен?
Class-файл – это результат компиляции Java-программы, содержащий байт-код для JVM. Он обеспечивает платформенную независимость Java, позволяя запускать программы на разных ОС без изменений. Компиляция происходит командой javac. Лучшие вопросы для подготовки к интервью по Spring Framework

В статье собрана подборка ключевых вопросов по Spring Boot, Spring MVC, Spring Cloud и микросервисам, которые помогут эффективно подготовиться к техническому интервью и повысить шансы на успешное трудоустройство. Архив публикаций за годы: обзор активности блога

Статья представляет статистику публикаций на блоге за несколько лет, показывая количество записей в каждом месяце. Данные позволяют оценить интенсивность ведения блога и понять периоды с максимальной активностью авторов.

Подробности: https://www.java67.com/2012/08/what-is-class-file-in-java-how-to-create-class.html

#en

@a_cup_of_java | Другие наши каналы
Полный разбор Enum в Java: как перечисления обеспечивают типобезопасность и удобство, заменяя устаревшие константы. В статье раскрываются особенности использования Enum, их преимущества и примеры для качественного кода и подготовки к собеседованиям.

Подробности: https://www.java67.com/2018/07/java-enum-tutorial-10-things-java-devs.html

#en

@a_cup_of_java | Другие наши каналы
ArrayList или Vector в Java: в чём разница? Vector — устаревший класс с синхронизацией, обеспечивающей потокобезопасность, но работает медленнее. ArrayList быстрее и предпочтительнее в однопоточных приложениях. Выбор зависит от потребности в потокобезопасности. Гид по Java и IT: от основ программирования до интервью и сертификаций. В статье собрано множество материалов по Java, Spring, базам данных и другим технологиям для подготовки разработчиков и IT-специалистов к работе и собеседованиям. Топовые алгоритмы и структуры данных на Java: от сортировки и поиска до работы с деревьями и массивами. В статье собраны примеры и пошаговые объяснения основных методов, которые помогут лучше понимать и применять Java в программировании.

Подробности: https://www.java67.com/2012/09/arraylist-vs-vector-in-java-interview.html

#en

@a_cup_of_java | Другие наши каналы
Не одним Python едины: Spring AI в разработке MCP‑сервера BitDive

Многие внутри BitDive привыкли к Python: для анализа данных, прототипирования агентов и построения CI/CD‑утилит этот язык незаменим. Но когда нам потребовался единый масштабируемый MCP‑сервер (Message Control Plane) для обработки и маршрутизации телеметрии в реальном времени, мы решили попробовать нечто более декларативное и «из коробки» готовое к бою. Наш выбор — Spring Boot вместе с новым модулем Spring AI, который позволяет легко описывать инструменты (Tools) и управлять ими через единый SSE‑интерфейс.


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

@a_cup_of_java | Другие наши каналы
n8n: установка, настройка и интеграция с Python, Node.JS и PHP

Подробный туториал по установке и настройки n8n. Примеры интеграции с Python, Node.JS и PHP и взаимодействия с LLM Mistral AI.

Читать: «n8n: установка, настройка и интеграция с Python, Node.JS и PHP»

@a_cup_of_java | Другие наши каналы
Лучшие практики реализации equals() и hashCode() на примере JPA сущности

Всем привет!
Рано или поздно при работе с объектами и хэш-коллекциями мы сталкиваемся с вопросами: «Где моя сущность?» или «Почему они не равны?».
В контексте работы с важными данными эти вопросы становится еще более актуальными.
А самое что страшное, что нет единого ответа на вопрос: «А как сделать мне в моём проекте?».


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

@a_cup_of_java | Другие наши каналы
Jakarta EE 11 выпущен, появилось Agent2Agent Java SDK от Red Hat и Google, вышел Kotlin 2.2.0. Beta WildFly 37 и релиз-кандидаты JobRunr 8.0 и Maven 4.0 предлагают новые функции и улучшения. Обновления развивают экосистему Java и инструменты для разработчиков.

Подробности: https://www.infoq.com/news/2025/06/java-news-roundup-jun23-2025/

#en

@a_cup_of_java | Другие наши каналы
Архитектура BFF (Backend for Frontend): зачем нужна прослойка

Что такое архитектура BFF. Показываем, зачем нужна прослойка Backend for Frontend. Рассматриваем преимущества и основные нюансы Tproger

Читать: «Архитектура BFF (Backend for Frontend): зачем нужна прослойка»

@a_cup_of_java | Другие наши каналы
❤‍🔥2
Полное руководство по пакетам в Java: что, зачем и как. В статье раскрывают роль пакетов в организации кода, их создание, лучшие практики именования и использования, а также объясняют новый static import для удобной работы с методами. Полезно для любого разработчика.

Подробности: https://www.java67.com/2018/06/a-beginners-guide-to-package-in-java.html

#en

@a_cup_of_java | Другие наши каналы
Как преобразовать String в Enum в Java?
В статье объясняется использование метода valueOf, который позволяет получить константу enum по строковому значению. Метод чувствителен к регистру и выбросит исключение при неверном вводе. Пример с enum TrafficSignal иллюстрирует работу valueOf на практике. Подборка ключевых тем для IT-профессионалов: от Java, Spring и Kubernetes до машинного обучения, Google Cloud и микросервисов. В статье собраны материалы и интервью-вопросы, которые помогут подготовиться к собеседованиям и углубить технические знания. Решение задачи Two Sum на Java: простой пример

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

Подробности: https://www.java67.com/2012/10/java-enum-valueof-example-how-to-use.html

#en

@a_cup_of_java | Другие наши каналы
3
Можно ли создать экземпляр абстрактного класса в Java?

В Java нельзя создать объект абстрактного класса — это вызовет ошибку компиляции. Хотя абстрактный класс может иметь конструктор, он вызывается только через подкласс. Такой вопрос часто встречается на собеседованиях и экзаменах по Java. Обзор популярных тем для подготовки к интервью в IT: от Java и Spring до машинного обучения и Kubernetes. Статья помогает систематизировать знания и выбрать ключевые направления для успешного прохождения собеседований в 2024 году. Статистика публикаций за годы показывает динамику активности на блоге с 2012 по 2024 год. Наиболее насыщенными были 2023 и 2024 годы с максимальным количеством постов в январе и сентябре. Такой анализ поможет понять тенденции развития контента.

Подробности: https://www.java67.com/2018/01/is-it-possible-to-instantiate-abstract-class-in-java.html

#en

@a_cup_of_java | Другие наши каналы
Jakarta EE 11 официально выпущена с новой спецификацией Jakarta Data, 16 обновлёнными спецификациям и модернизированным тестовым комплектом. Обновление улучшает совместимость и упрощает разработку корпоративных Java-приложений, поддерживая современные технологии и стандарты.

Подробности: https://www.infoq.com/news/2025/07/jakarta-ee-11-updates/

#en

@a_cup_of_java | Другие наши каналы
Логирование в конвейере дебетовых карт: как мы сделали его удобным для себя

Статья о том, как мы улучшали логи внедрением сквозных идентификаторов и не только. Делали это для того, чтобы упростить и ускорить разбор возникающих ошибок. Это в разы сократило время разбора.

Статья может быть полезна backend-разработчикам, лидам, тестировщикам, аналитикам, которые проектируют и разрабатывают сложные системы. Код написан на java и соседних технологиях, но подходы, я уверен, универсальны. Они упростят жизнь при разборе ошибок на проде и на тестовых стендах.


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

@a_cup_of_java | Другие наши каналы
Spring AI: Model Context Protocol

Model Context Protocol (MCP) — это унифицированный протокол взаимодействия между большими языковыми моделями (LLM) и внешними источниками данных и инструментами. Spring AI предоставляет очень простой декларативный подход для добавления любых инструментов в контекст LLM с помощью MCP. Мы рассмотрим несколько простых примеров по созданию MCP-клиента и MCP-сервера.


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

@a_cup_of_java | Другие наши каналы
Тест-кейсы на автопилоте: как Spring AI и Atlassian MCP упрощают жизнь тестировщика

Тест-кейсы перестанут быть твоей головной болью и болью твоей команды. Нужно просто перестать их писать. Путь от спецификации до коллекции в тест-менеджере может быть пройден за минуту. Достаточно принимать по одной чайной ложке...

Или попытаться воспроизвести цепочку задач с помощью AI: модель легким движением промпта превращается в QA, нарезает спеку на чанки, отдавая тебе список из структурированных данных, которые ты шлешь далее в свой тест-менеджер.

Пишу о своих изысканиях в области автоматизации рутинных процессов с помощью Spring AI, Atlassian MCP, Qdrant, OpenAI, Allure TestOps.


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

@a_cup_of_java | Другие наши каналы
Spring Data JPA и Hibernate: ориентируемся на производительность. Часть 3

Команда Spring АйО перевела и адаптировала доклад Мацея Валковяка “Performance oriented Spring Data JPA & Hibernate”, в котором на наглядных примерах рассказывается, как существенно нарастить производительность приложения, оптимизировав его взаимодействие с БД.

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


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

@a_cup_of_java | Другие наши каналы
Разница между int и Integer в Java

В Java int — примитивный тип данных, а Integer — его оболочка (wrapper-класс). Автоупаковка скрывает различия, но Integer может быть null, что приводит к NullPointerException. Знание этой разницы важно для эффективной разработки и избегания ошибок. Топовые технологии и навыки для программистов в 2024 году

В статье собраны ключевые инструменты и темы, важные для развития IT-специалистов: от Next.js и Python до Spring Framework и NLP. Обзор поможет ориентироваться в современных трендах и подготовиться к собеседованиям.

Подробности: https://www.java67.com/2018/02/what-is-difference-between-int-and-integer-in-Java.html

#en

@a_cup_of_java | Другие наши каналы
Как сортировать объекты в Java: разбор Comparable и Comparator
В статье рассказывается, как правильно упорядочить объекты в Java с помощью интерфейсов Comparable и Comparator. Приведены примеры сортировки по разным критериям и объяснены важные нюансы реализации. Полезно для тех, кто изучает Java.

Подробности: https://www.java67.com/2012/10/how-to-sort-object-in-java-comparator-comparable-example.html

#en

@a_cup_of_java | Другие наши каналы
Генерация случайных строк в Java с SecureRandom
В статье рассказывается, как с помощью класса SecureRandom создавать случайные алфавитные и буквенно-цифровые строки заданной длины. Этот способ безопаснее стандартного java.util.Random и подходит для ключей и идентификаторов. Топовые темы IT и программирования в одном месте. В статье собраны материалы по сертификациям AWS и Azure, backend-разработке, Java, облачным технологиям, data science, DevOps и многому другому — всё для развития навыков и карьерного роста. Архивы публикаций: динамика по годам и месяцам

В статье представлен обзор количества публикаций по месяцам и годам с 2012 по 2021 год. Отмечается рост активности блога в последние годы и разнообразие тем, отражённых в архивах. Это помогает проследить развитие контента со временем.

Подробности: https://www.java67.com/2018/01/how-to-create-random-alphabetic-or-alphanumeric-string-java.html

#en

@a_cup_of_java | Другие наши каналы