Аккаунт Войти / Регистрация
Тема
Размер текста

Java:

« 1 2 3 4 »
2 / 4 · 41
Асинхронность и реактивность в Java: CompletableFuture, Flow и Virtual Threads В современном Java-разработке есть три основных подхода к асинхронности и параллельности: CompletableFuture — для одиночных асинхронных задач. Flow / Reactive Streams — для потоков данных с контролем скорости (backpressure). Virtual Threads / Loom — для масштабируемой параллельности без блокировок.…
Asynchrony in Java: Future, CompletableFuture, and Structured Concurrency Java was originally designed for multithreading and parallel computing. Over time, various methods for working with the results of asynchronous tasks have emerged—from the classic Future to modern Structured Concurrency. Let s look at the main mechanisms, their pros and cons, and when to use them. 1…
Асинхронность в Java: Future, CompletableFuture и Structured Concurrency Java изначально была ориентирована на многопоточность и параллельные вычисления. Со временем появились разные способы работы с результатами асинхронных задач — от классического Future до современных Structured Concurrency. Разберём основные механизмы, их плюсы, минусы и когда их использовать. 1. Fut…
Понимаем многопоточность в Java через коллекции и атомики 1️⃣ HashMap / TreeMap / TreeSet (не потокобезопасные) HashMap: Структура: массив бакетов + связные списки / деревья (для коллизий). Под капотом: при put/remove происходит модификация массива бакетов и, возможно, переупорядочивание цепочек. Проблема при многопоточности: два потока могут одновременно…
Understanding multithreading in Java through collections and atomics Understanding Multithreading in Java through Collections and Atomics 1️⃣ HashMap / TreeMap / TreeSet (not thread-safe) HashMap: Structure: array of buckets + linked lists / trees (for collisions). Under the hood: on put/remove, the array of buckets is modified and, possibly, the chains are reorder…
От микросервисной революции к эпохе эффективности Период 2010–2020 годов можно назвать эпохой разделения и масштабирования. Системы стали слишком большими, чтобы оставаться монолитами. Решением стали микросервисы — маленькие автономные приложения, развёртываемые независимо. Они позволили командам работать параллельно, а системам — масштабироваться …
From the microservice revolution to the age of efficiency The period from 2010 to 2020 can be called an era of separation and scaling. Systems have become too large to remain monoliths. The solution has been microservices — small autonomous applications that are deployed independently. They allowed teams to work in parallel and systems to scale horizontall…
Можно ли знать всё? Пределы мастерства в мире бесконечных технологий Рассуждение о том, почему полнота знаний недостижима и как выстроить личную архитектуру профессионального роста. Каждый разработчик хотя бы раз думал: «Как всё успеть?» Технологии растут быстрее, чем список книг в закладках. Это не провал — это масштаб самой экосистемы. Зрелость приходит, когда…
Is it possible to know everything? The limits of mastery in a world of endless technologies Reflection on why the completeness of knowledge is unattainable and how to build a personal architecture of professional growth. Every developer has at least once thought: “How to keep up with everything?” Technologies grow faster than the list of books in bookmarks. This is not a failure — it …
Java v25: Choosing the Right Multithreading for Any Task Introduction The Java world is rapidly evolving, and with each version, new tools are emerging for effectively working with multithreading, collections, and asynchrony. Java 25 brings powerful features to developers: Virtual Threads, Structured Concurrency, Record Patterns, and improved memory and n…
Java v25: выбор подходящей многопоточности для любых задач Введение Мир Java стремительно развивается, и с каждой версией появляются новые инструменты для эффективной работы с многопоточностью, коллекциями и асинхронностью. В Java 25 разработчики получают мощные возможности: Virtual Threads, Structured Concurrency, Record Patterns, улучшенные API работы с п…
Эволюция языка Java v1–v25: ключевые фичи Легенда ✅ — Production (можно использовать в продакшне) ⚠️ — Preview / Incubator (экспериментальная, не для продакшна, в скобках указана версия, когда стало Production) Таблица версий Версия Основные нововведения Комментарий / Значение Супер-решение (%) Java 1.0 (1996) - Базов…
« 1 2 3 4 »
2 / 4 · 41
Отправляя email, вы принимаете условия политики конфиденциальности

Полезные статьи:

Добро пожаловать на мой IT блог, меня зовут - Виталий Лесных. В IT сфере я уже с 2004 года: еще в колледже создал первый сайт как дипломную работу, и с того момента занимаюсь разработкой приложений и…
Условные операторы в Java
Java — Условные операторы Наглядная статья с примерами: if / else / логика / тернарный оператор / switch Кратко — условные операторы позволяют программе принимать решения: выполнить один кусок кода …
Переменные и Константы в Java
Переменные в Java — понятие, типы, область видимости и константы Всем привет! С вами Виталий Лесных. В этом уроке разберём, что такое переменные в Java, зачем они нужны, какие бывают типы, как объявля…

Новые статьи:

Конкурентность — это не про «запустить много потоков». Это про договорённости между ними. Представь кухню ресторана: — повара (потоки / горутины) — заказы (задачи) — и главный вопрос: как они коорди…
История начинается не с академической теории, а с типичной production-проблемы. Представьте сервис: 48 CPU 300+ потоков нагрузка 200k операций в секунду много shared state Команда использует обы…
Когда HashMap начинает убивать продакшн: инженерная история ConcurrentHashMap
Представьте обычный продакшн-сервис. 32 CPU сотни потоков кэш конфигурации / сессий / rate limits десятки тысяч операций в секунду И где-то внутри — обычный Map. Сначала всё выглядит безобидно. Map&…