CompletableFuture - Асинхронний код - Java: Про ІТ під каву - #19

  Рет қаралды 2,606

Java Online Lessons

Java Online Lessons

Күн бұрын

Розкрийте потенціал асинхронного програмування в Java. На цій трансляції ми занурюємося у можливості CompletableFuture, демонструючи його силу у покращенні продуктивності системи. Ми розглянемо його основні функції, подивимось на приклад використання, схожий на реальний, та порівняємо його з іншими засобами паралельності в Java. Приєднуйтесь за корисними порадами, які обіцяють підняти ваші програмістські навички, незалежно від того, чи ви новачок чи досвідчений розробник.
🫣 P.S. На моменті в 18:35 я ляпнув дурню, сказавши, що runAsync не буде виконуватись. Насправді буде - він відразу передає задачу до executor-а, який її буде виконувати. Звісно, якщо у вас якійсь свій executor, який буде чекати чи ще щось - тоді це інше. Але в загальному випадку, runAsync та supplyAsync будуть виконувати в окремому потоці передані фукнції.
🪙☕ Купіть мені каву - допоможіть зібрати кошти для ЗСУ: www.buymeacoffee.com/ytkach
📃 Звіти по моїм зборам на ЗСУ: www.yuriytkach.com/volunteer/...
💬 Мій телеграм канал: t.me/tkach_channel
💬 Мій whatsapp канал: whatsapp.com/channel/0029VaLh...
📹 Курс "Advanced Java: Concurrency": • Advanced Java - Concur...
📣 Усі анонси благодійних стримів: • Анонсы благотворительн...
📹 Трохи про попередні благодійні стріми: • Онлайн стримы - Java и...
😎 Станьте спонсором цього каналу:
/ @java-tkach
☕ Java: Про ІТ під каву: • Java: про ІТ під каву
ℹ️ Java: про IT під каву - це онлайн трансляції, які дозволяють насолоджуватись цікавими розмовами в невимушеній атмосфері про розробку програмного забезпечення та IT в цілому. Я поділюся своїм досвідом та знаннями, щоб допомогти вам удосконалити навички та знайти відповіді на ваші питання. А ось що зробить цю трансляцію більш затишною - це смачна кава або келих вашого улюблений напою, щоб ми могли поспілкуватися як приятелі, яких об'єднує інтерес і справжня пристрасть до світу програмування.
Підписатися на KZfaq канал:
kzfaq.info_c...
Канал "Yuriy Tkach" - Уроки з програмування на Java: / ytkach
Слава Україні! 🇺🇦
#java #onlinestream #techtalk #concurrency #future #completablefuture
⏱️ Таймкоди:
00:00 Вступ
02:20 Асинхронне програмування
14:00 Основні методи CompletableFuture
53:25 Реальні приклади систем, які можуть використовувати CompletableFuture
56:38 Альтернативи використання CompletableFuture
1:07:25 Допомагаймо ЗСУ
1:09:26 Відповіді на питання

Пікірлер: 23
@nick-uk
@nick-uk 3 ай бұрын
Треба підтянути всю цю кухню з потоками тому зараз починаю розбиратись. Продивився, щось якось зловив, тепер буду намагатись щось писати. Дякую за відео!
@anjelomanoranjan3908
@anjelomanoranjan3908 4 ай бұрын
Спасибо за видео! Интересно и познавательно
@IgorV8
@IgorV8 10 ай бұрын
Дуже корисний стрім особливо для тих хто не використовува CompletableFuture в Java . Чекаємо на реальний прикладний приклад :) !
@user-wm9mk4sp8l
@user-wm9mk4sp8l 6 ай бұрын
Чудовий контент. Так тримати!
@ione333
@ione333 10 ай бұрын
Оце сюрприз для себе відкрив. Починав з ваших уроків, дуже допомогли мені стати на вірну доріжку 😊 Так, час іде, та ви трошки змінилися зовні, не відразу відреагував що повернулися та й щє на рідній мові! Це дуже добра підтримка та вклад в українське ІТ а це у свою чергу надає більш можливостей донатити на перемогу ;)
@java-tkach
@java-tkach 10 ай бұрын
Дякую!
@user-pt9rp6dh4p
@user-pt9rp6dh4p Ай бұрын
випадково настрапив на це відео. Якщо це той саимй Юрій Ткач, який викладаd колись 10+ років тому курс Java для тестувальників, то Юра - з мене пиво) готувався до співбесід по тих відео, дуже багато їх передивлявся і дуже джуе дякую 😄
@java-tkach
@java-tkach Ай бұрын
Та той самий, який же ще?! Трішки змінився, став старшим та гарнішим
@user-bb3bt8up8d
@user-bb3bt8up8d 9 ай бұрын
Дякую за стрім, цієї інформації би рік назад, було би набагато простіше з цим розбиратися) а так то прийшлося прийти до reactive все одно, бо почалися проблеми з транзакціями БД, memory leaks ловили ) але охоче перегляну благодійний стрім в записі
@java-tkach
@java-tkach 9 ай бұрын
Згоден з тим, що якщо вже база є, то краще піти в reactive, бо з future можливі проблеми з транзакціями, або просто дуже важко їх хендлити.
@Roman_UA
@Roman_UA 10 ай бұрын
Ніколи не працював з CompletableFuture, було цікаво послухати
@ivani7254
@ivani7254 10 ай бұрын
Дякую за відео!
@Lemetrriss
@Lemetrriss 10 ай бұрын
Гарна тема, дякую!
@user-bw8yw1qk8e
@user-bw8yw1qk8e 10 ай бұрын
Дякую за відео. Як завжди цікаво та пізнавально. Хотів спитати про пояснення роботи та аналогів зі стрімами. Код виконується, навіть якщо не було виклику get або іншого метода аналогічного термінальним методам стрім апі. public static void main(String[] args) { System.out.println(Thread.currentThread() + " Main"); CompletableFuture.runAsync(() -> System.out.println(Thread.currentThread() + " Should be new thread")); CompletableFuture.supplyAsync(() -> { System.out.println(Thread.currentThread() + " also should be new thread"); return 42; }); } Можливо невірно зрозумів чи ще не додивився до кінця. Дякую
@java-tkach
@java-tkach 10 ай бұрын
Ти правий, а я трохи дурницю сказав, захопившись порівнянням зі stream api. 🫣 Дійсно, методи runAsync та supplyAsync запускають виконання відразу в executor.
@yaroslavstorozhuk6373
@yaroslavstorozhuk6373 10 ай бұрын
❤‍🔥❤‍🔥❤‍🔥
@MrRomanvideo
@MrRomanvideo 10 ай бұрын
Як раз на проекті все на Фьючаерсах працює. І проблема як MDC логування зробити, щоб трейсити всю обробку реквеста.? Обертати екзекьютори декораторами з MDC контекстом?
@java-tkach
@java-tkach 10 ай бұрын
Так, MDC та багато потоків - це головна біль, і дійсно, доводиться робити обгортки, щоб копіювати контекст в нових потоках
@pashnyovv
@pashnyovv 10 ай бұрын
така сама проблема виникла і при звичайному parallelSteam, тож прийшлось робити копію MDC.getCopyOfContextMap() і RequestContextHolder.currentRequestAttributes() і потім в кожному требі сетити.
@pashnyovv
@pashnyovv 10 ай бұрын
цікава штука, тільки як переконати клієнта на це потратити час, якщо воно і так працює
@java-tkach
@java-tkach 10 ай бұрын
Ви про те, як переконати використовувати CompletableFuture, якщо і без нього працює? Тоді треба показати переваги - там швидкість, якість, responsiveness, і т.п.
@pashnyovv
@pashnyovv 10 ай бұрын
​@@java-tkach сама про це, але багато внутрішньої бюрократії і треба фіксати баги, і нові фічі імплименти. Дякую, треба буде знайти для себе екстра час і презентувати це.
Цікаві історії з ІТ минулого - Java: Про ІТ під каву - #45
1:43:00
CAP Теорема - Розподілені Системи - Java: Про ІТ під каву - #20
1:13:20
Pray For Palestine 😢🇵🇸|
00:23
Ak Ultra
Рет қаралды 36 МЛН
Шокирующая Речь Выпускника 😳📽️@CarrolltonTexas
00:43
Глеб Рандалайнен
Рет қаралды 11 МЛН
Cute Barbie Gadget 🥰 #gadgets
01:00
FLIP FLOP Hacks
Рет қаралды 38 МЛН
Чай будешь? #чайбудешь
00:14
ПАРОДИИ НА ИЗВЕСТНЫЕ ТРЕКИ
Рет қаралды 2,4 МЛН
Презентация Гринвей
19:28
ИНАРА ЖАНИКАЕВА
Рет қаралды 8
Tomasz Nurkiewicz - CompletableFuture in Java 8, asynchronous processing done right
1:01:10
КРАМНИК - ЖОСПЕМ | День 2
Levitov Chess
Рет қаралды 2,6 М.
Angular Components Beginner's Guide
13:52
Fireship
Рет қаралды 179 М.
Топ-10 вопросов на Backend Java / Собеседование с разбором ответов и материалами
2:17:45
Антон Назаров | Осознанная Меркантильность
Рет қаралды 33 М.
Pray For Palestine 😢🇵🇸|
00:23
Ak Ultra
Рет қаралды 36 МЛН