Ask Me Anything with Doug Lea
summary
Answers about practical concurrency trade-offs and concrete Java work: advocates divide-and-conquer parallelism and non-blocking synchronization, explains why java.util.concurrent uses intentional slow paths for usability, describes how lambdas unlocked parallel streams and CompletableFuture, reports using TSAN and model checkers for verification, laments lack of cheap hardware transactions, contrasts message passing and shared memory, details coping with HotSpot JIT limits (extra code variants to avoid allocation), and prefers Scheme-like macros over C++ templates.
AI-written summary · about
chapters (23)
- 0:00Introduction
- 0:46How did you get into computing
- 1:57Did you use similar graphical aids when programming
- 3:47How do you differentiate amongst those
- 5:23Is there a concurrency model
- 6:58Have you ever met a concurrency optimization
- 8:39Make it more difficult for people to shoot themselves in the foot
- 9:18Make sure people get the performance they hoped for
- 10:22How is your approach to designing API changed
- 12:29How islanders backwards compatibility
- 15:38Formalization and correctness
- 17:31Current state of model checkers
- 20:23Concurrency models
- 22:00Transactional memory
- 27:18Errorprone people
- 29:03Evolving systems
- 30:01Messagepassing vs shared memory
- 31:23Pros and cons of Java compiled systems
- 33:11Dynamic compilation
- 33:53Static compilation
- 35:33Dynamic compiler
- 35:55Templates or macros
- 36:58Whats next
related talks
48mModern Java - Ask Me Anything
50mThe Hidden Art of Thread-Safe Programming: Exploring java.util.con...
50mFrom Concurrent to Parallel
42mBrian Goetz Ask Me Anything
02h 35mParallel and Asynchronous Programming with Streams and CompletableFuture
45mThe Hidden Art of Thread-Safe Programming: Exploring java.util.concurrent
01h 06mProject Lambda: Simplifying Concurrent Programming in Java SE 8
50mFlavors of Concurrency in Java
