async‑profiler в production: CPU, аллокации, lock contention и чтение flame graph
Профилирование Java‑приложений в production часто упирается не в отсутствие инструментов, а в их ограничения: CPU горит в&nbs…
Tech news from the best sources
Профилирование Java‑приложений в production часто упирается не в отсутствие инструментов, а в их ограничения: CPU горит в&nbs…
У нейросетей есть ограничение на количество символов в чате или на число запросов. И бывает так, что лимит уже закончился, а разработка проекта — нет.…
C# я до сих пор считаю одним из самых удобных языков для backend разработки. В нём много вещей к которым быстро привыкаешь: свойства, LINQ, async/awai…
Можно ли успешно эксплуатировать Java-приложение на Raspberry Pi Model B? А если Java — 21‑я, а Spring Boot, на котором основано приложение — версии 4…
В JDK 27 появится JEP 527: гибридный post-quantum key exchange для TLS 1.3. Разбираем, что меняется в JSSE, зачем нужен X25519MLKEM768 и какие проблем…
Практика Project Loom: как включить preview Structured Concurrency в javac, Maven и Gradle, как использовать ScopedValue для request context и Structu…
Project Loom меняет привычную модель конкурентности в Java: virtual threads делают потоки дешевле, Scoped Values дают аккуратную передачу контекста, а…
В этой статье мы разберём реальную задачу на проектирование Maven Multi‑Module: от циклических зависимостей и неправильного использован…
Описание паттерна Transactional Outbox — Читать дальше « Паттерн Transactional Outbox с Kafka: как не потерять события при синхронизации баз данных »
В последней части про модели конкурентности JVM языков мы сравним разные подходы друг с другом. И ответим на вопрос “А зачем теперь тред пулы, если ес…
Первая статья из цикла о каналах обмена сообщениями. Разбираем архитектурные дилеммы, конкурирующих потребителей, message storm, гарантирова…
Coroutine, Fiber, Virtual thread - это всё одно и то же? Или нет ? Или нет. А если под капотом всё равно JVM, почему нельзя просто везде включить virt…
Я сравнил Codex 5.3, Claude Opus 4.6 и GPT-5.5 на реальном многомодульном Java-монолите: скопировал проект в отдельные ветки, дал агентам похожие зада…
JEP 533 в JDK 27: FailedException заменён на ExecutionException, Joiner получил третий тип-параметр, новый open()-оверлоад упрощает конфигурацию. Пров…
Вы пробовали что-нибудь кроме new Thread() ? Конечно пробовали: Future ! И всё ?! Разберемся с разными моделями конкурентности в Java, Kotlin, Scala/Z…
Не писал на Spring уже лет 8 и решил по фану написать мини пет проект с api и распознаванием речи. Звучит круто, лет 8-10 назад это заняло бы … вечнос…
Когда документов и партнёров стало много, модель «один кейс — один шаблон» начала мешать даже простым правкам. Рассказываю, как мы вынесли композицию,…
Продолжаем разбирать HikariCP: как выбирать размер пула, что учитывать в Kubernetes и при нескольких сервисах, почему большой maximumPoolSize не всегд…
Главные события Kotlin за апрель: вышел 2.4.0-Beta2 и патч 2.3.21, объявлены финалисты Golden Kodee, готовится KotlinConf 2026. Что обновить уже сейча…
Разбор архитектуры E2EE-мессенджера на Spring Boot 3, React и WebCrypto: X3DH, symmetric ratchet, AES-GCM, WebSocket, multi-device и ограничения реали…
HikariCP давно стал де-факто стандартом JDBC connection pooling в JVM-проектах. Но подключить его мало: важно правильно выбрать размер пула, таймауты,…
Привет, Хабр. Я Java-разработчик и в основном работаю с backend: Spring Boot, базы данных, интеграции, авторизация, WebSocket — всё то, что обычно нах…
Python уже не просто язык для скриптов и Data Science — в 2026 году он стал «клеем», который связывает микросервисы, тесты и CI/CD…