~/talk

Keynote: Where Promises Fall Short

Talkat Voxxed Days Iași 2023 · 2023-05-23..05-24· [java, concurrency]
slides:none on file

Java’s CompletableFuture behaves like JavaScript promises and works fine for happy paths but becomes awkward for error handling: the demo shows a simple “double even numbers” pipeline that breaks into nulls or type juggling when an exception occurs and requires use of exceptionally (and returned recovery values) to continue. Streams and CompletableFuture adapt between sync and async at runtime. Replacing OS threads with virtual threads changes one line, removes thread-per-wait blocking in a file I/O example, and scales far better. Java 8 introduced these APIs; Loom lands in Java 21 LTS.

AI-written summary · about

  1. 0:00Java concurrency trends
  2. 2:34Parallel vs concurrent execution
  3. 4:42Synchronous vs async communication
  4. 7:49Multi-threaded imperative challenges
  5. 10:19Java 8 streams & parallelism
  6. 12:49Non-blocking execution analogy
  7. 16:02Java threads for I/O tasks
  8. 17:54CompletableFuture vs JavaScript promises
  9. 22:16Promises fall short in errors
  10. 29:40Async pipeline exceptions
  11. 35:42Functional vs imperative trade-offs
  12. 37:07Thread usage in blocking I/O
  13. 41:27Virtual threads & lightweight execution
  14. 43:56Java 21’s async model
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.