Чашечка Java
Open in Telegram
Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels
Show more8 574
Subscribers
+224 hours
-27 days
-2130 days
Posts Archive
8 574
Repost from Типичный программист
Этот текст видят только те, кто хотел писать про IT, но всегда откладывал
Редакция Tproger запустила свой канал для авторов, где учат писать лучше. Если давно хотели попробовать себя в IT-журналистике — самое время начать.
8 574
Функциональное программирование в Java
Привет, Хабр!
В этой статье я опишу функциональное программирование и расскажу, как оно реализовано в Java. Помимо вопроса «что это?», я постараюсь ответить на вопросы «зачем?», «когда?» и «как?» это используется.
Читать: https://habr.com/ru/companies/reksoft/articles/892242/?utm_campaign=892242
@a_cup_of_java | Другие наши каналы
8 574
Новый релиз Java 24: что нового
Oracle представила Java 24, не являющуюся LTS-версией. Главные новинки: экспериментальные функции Generational Shenandoah и Compact Object Headers. Java 24 ускоряет запуск приложений и расширяет возможности API Stream. Подробности о новых функциях и ожиданиях от JDK 25 читайте далее.
Подробности: https://www.infoq.com/news/2025/03/java24-released/
#en
@a_cup_of_java | Другие наши каналы
8 574
Java 24! Спецвыпуск Java Digest
Всем привет! 👋 👋 👋 👋 👋 Мы Java-разработчики Т-Банка: Андрей, Арсений, Константин, Константин и Роман. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.
Сегодня вышла Java 24! Давайте посмотрим, что нового она принесла нам!
Скорее читать спецвыпуск!
Читать: https://habr.com/ru/companies/tbank/articles/891798/?utm_campaign=891798
@a_cup_of_java | Другие наши каналы
8 574
Как применять happens-before на практике и в чем основные преимущества этой концепции
Основные правила применения концепции happens-before
Читать: «Как применять happens-before на практике и в чем основные преимущества этой концепции»
@a_cup_of_java | Другие наши каналы
8 574
Автоматизация деплоя: из Bitbucket через Jenkins в MicroK8s — опыт финтех-разработчика
Всем привет! Я — Java-разработчик с пятилетним опытом в финтехе, и сегодня я расскажу, как настроить CI/CD для деплоя Spring Boot приложения из Bitbucket через Jenkins в MicroK8s. Это не просто теория — я поделюсь реальным кейсом, разберу ошибки, с которыми столкнулся, и дам рабочий код. Если вы хотите автоматизировать деплой и не наступать на грабли — поехали!
Представьте: у вас есть микросервис на Spring Boot, который нужно быстро и без ошибок доставить в продакшен. Ручной деплой отнимает время, а команда требует стабильности. Я решил эту задачу с помощью Bitbucket, Jenkins и MicroK8s, но путь оказался не таким гладким, как хотелось бы. Проблемы с аутентификацией, конфликты портов и настройка окружения заставили меня попотеть. Как я справился? Об этом — в статье.
CI/CD (Continuous Integration/Continuous Deployment) — это must-have для современных разработчиков. Автоматизация сборки, тестирования и деплоя приложений экономит время, снижает вероятность ошибок и ускоряет доставку кода до продакшена. В этой статье мы разберем, как настроить полноценный CI/CD-пайплайн для Spring Boot приложения, используя связку Bitbucket, Jenkins и MicroK8s.
Читать: https://habr.com/ru/articles/891844/?utm_campaign=891844
@a_cup_of_java | Другие наши каналы
8 574
Project Leyden Ships Third Option for Faster Application Start with JEP 483 in Java 24
In Java 24, Project Leyden’s JEP 483, "Ahead-of-Time Class Loading & Linking", starts Java applications like Spring PetClinic up to 40% faster without code changes or new application constraints. It needs a training run to build a cache file that ships with the application. With GraalVM Native Image and CRaC, the startup is 95-99% faster but faces more constraints. Leyden plans more improvements.
By Karsten Silz
Read: https://www.infoq.com/news/2025/03/java-24-leyden-ships/
@a_cup_of_java | Другие наши каналы
8 574
Как читать сообщения, если никто из брокеров не предоставил удобный интерфейс
Пишите вы себе EDA на основе Apache Kafka, и ваши сервисы тщательно логируют все свои действия, процесс отлажен и работает годами. Вдруг один из сервисов отчитался в логах, что отправил событие в брокер, но другой по какой-то его не прочитал. Как понять, кто виноват?
Как правило, брокер сообщений между сервисами – черная коробка, которая работает, что называется «As Is». Разработчики подключают зависимости, вешают аннотации консюмеров и продюсеров, оно заводится и все рады. Но что они там подключили и как это работает никто не видит.
Так давайте же посмотрим, как мы можем открыть этот чёрный ящик на примере наиболее популярных брокеров сообщений.
Читать: https://habr.com/ru/companies/axenix/articles/886042/?utm_campaign=886042
@a_cup_of_java | Другие наши каналы
8 574
Podcast: Building LinkedIn’s Resilient Data Storage: A Deep Dive into Derived Data Storage with Felix GV
In this podcast, Felix GV, Principal Staff Engineer at LinkedIn, discusses how to create and operate planet-scale data storage solutions for derived data. When it’s time to build a new system, how do you decide on the pieces that must be fitted to ensure a resilient operating system?
By Felix GV
Read: https://www.infoq.com/podcasts/building-linkedin-resilient-data-storage/
@a_cup_of_java | Другие наши каналы
8 574
Свежая вакансия в Gehtsoft
Gehtsoft — компания по разработке ПО — ищет Tech Lead Java Developer.
Чем вы будете заниматься:
— разработкой и тестированием новых функций, — устранением причин инцидентов, поддержкой инфраструктуры;
— ускорением выхода продуктов на рынок и повышением их ценности для клиентов;
— снижением технического долга.
Где: удалённо
Опыт: 4+ лет
Вакансия и как отправить отклик: https://tprg.ru/Fm7Y
#вакансии #работа
8 574
Идеи ничего не стоят
Команда Spring АйО перевела статью одного из создателей Hibernate, в которой он объясняет, почему ему часто приходится отвергать новые и хорошие идеи, и почему это на самом деле не означает, что он является врагом всего нового.
Читать: https://habr.com/ru/companies/spring_aio/articles/891436/?utm_campaign=891436
@a_cup_of_java | Другие наши каналы
8 574
TrueSql – заново учимся ходить в базу данных. Часть 3 – транзакции и соединения
Принято считать, что транзакции, сессии и контекст это что-то сложное. Но в TrueSql работать с транзакциями очень просто и прозрачно, а понятий "сессия" и "контекст" просто не существует. Сегодня рассказываем как работать с транзакциями и соединениями в TrueSql. Быстро объясняем внутреннее устройство.
Читать: https://habr.com/ru/articles/888158/?utm_campaign=888158
@a_cup_of_java | Другие наши каналы
8 574
Java News Roundup: Jakarta NoSQL 1.0, Spring 7.0-M3, Maven 4.0-RC3, LangChain4j 1.0-beta2
This week's Java roundup for March 10th, 2025 features news highlighting: OpenJDK JEPs targeted and proposed to target for JDK 25; the release of Jakarta NoSQL 1.0; the third milestone release of Spring Framework 7.0; the third release candidate of Maven 4.0; and the second beta release of LangChain4j 1.0.
By Michael Redlich
Read: https://www.infoq.com/news/2025/03/java-news-roundup-mar10-2025/
@a_cup_of_java | Другие наши каналы
8 574
Создаём HTTP-сервер на Java NIO
Привет, Хабр!
В этой статье создадим HTTP-сервер на чистом Java NIO, без всяких Spring Boot, Jetty и прочих фреймворков. Будем разбираться, как работает неблокирующее I/O, что такое Selector, SocketChannel, и как заставить сервер обрабатывать тысячи запросов одновременно без запуска тысяч потоков.
Читать: https://habr.com/ru/companies/otus/articles/889062/?utm_campaign=889062
@a_cup_of_java | Другие наши каналы
8 574
CRaC в Java
Привет, Хабр!
Сегодня рассмотрим CRaC — это технология, позволяющая создать контрольную точку работающего Java-приложения, сохранив его полное состояние: память, потоки, системные ресурсы и прочее. Иными словами, вы проводите полную инициализацию приложения один раз, делаете «снимок», а затем при повторном запуске восстанавливаете это состояние, обходя долгую процедуру холодного старта.
Читать: https://habr.com/ru/companies/otus/articles/889334/?utm_campaign=889334
@a_cup_of_java | Другие наши каналы
8 574
Почему в Java 1 == 1 возвращает true, а 128 == 128 — false
Привет! Давайте поговорим кое о чем, что может удивить вас в Java — почему иногда сравнение чисел с помощью == работает не так, как вы ожидаете. Да, мы говорим о том, почему 1 == 1 возвращает true, а 128 == 128 — false. Звучит странно, правда? Давайте разберемся!
Читать: https://habr.com/ru/companies/selectel/articles/887812/?utm_campaign=887812
@a_cup_of_java | Другие наши каналы
8 574
Reverse shell на Java или кошмар сисадмина
По итогам расследований нескольких инцидентов с безопасностью, рассказываю что еще из «зубастого и рогатого» бывает на свете. Еще один повод бросить это ваше ИТ и уйти в монастырь.
Читать: https://habr.com/ru/articles/891058/?utm_campaign=891058
@a_cup_of_java | Другие наши каналы
8 574
Эпоха TypeScript: почему JavaScript без строгой типизации умирает? Или нет?
Представьте: вы запускаете новый функционал на продакшен, всё кажется отлично — но через час приходит сообщение от коллег: «Всё сломалось». Знакомо? Для JavaScript-разработчиков это обычная ситуация. Вместе разберёмся, почему так происходит и как TypeScript может спасти от бессонных ночей с дебаггером.
Читать: «Эпоха TypeScript: почему JavaScript без строгой типизации умирает? Или нет?»
@a_cup_of_java | Другие наши каналы
8 574
Как исправить java.lang.NoClassDefFoundError в Spring Boot
Столкнулись с ошибкой NoClassDefFoundError при запуске Spring Boot приложения? Причиной может быть несовместимая версия библиотеки Spring в вашем проекте. Решение — обновить версию зависимости, например, spring-web, на более актуальную. Избавившись от конфликта версий, ошибка пропадает. Избегаем распространённых ошибок с зависимостями в Spring Boot
В статье обсуждается важность правильного использования зависимостей в Spring Boot. Автор предупреждает о рисках смешения индивидуальных и стартеров зависимостей и предлагает проверять их на полноту, чтобы избежать ошибок при загрузке классов.
Подробности: http://www.java67.com/2018/05/how-to-javalangnoclassdeffounderror-Spring-Boot-SmartInitializingBean.html
#en
@a_cup_of_java | Другие наши каналы
8 574
Простой редактор текста by java through design
Всем привет. Для того чтобы писать код нужен удобный инструмент, кто-то пользуется IDE, кто-то редакторами текста Emacs, VIM. Зачастую, чтобы программисту было удобно, разработчику надо соблюсти много нюансов, тоесть в одном случае есть ускорение разработки, но решение тяжеловесное, в другом случае, разработчик, чтобы пользоваться редактором начинает писать код, чтобы писать код. Конечно это крайности, и проще поставить IDE/VSCode/etc... , но что если можно найти эту золотую середину!?
Неоднократно автор пытался делать текстовый редактор, но что-то было всё не то, пока не вспомнил, что есть старый добрый SWING, и java by design иногда круто и интересно.
В этой статье хочу показать как получилось минимальными усилиями сделать то, что на С или С++ потребует больших знаний без QT/GTK/etc...
Читать: https://habr.com/ru/articles/891044/?utm_campaign=891044
@a_cup_of_java | Другие наши каналы
Available now! Telegram Research 2025 — the year's key insights 
