Devnexus 2022 - What's Looming in Java The Why and What of Project Loom - Venkat Subramaniam

Abstract
Multithreading has been in Java from day one. The multithreading API has gone through significant changes over the years. And yet, we have something major that’s threading again. What’s the reason for yet another implementation, yet another change? How is that different from what we already have. When will we use the new model and when will we stick to the existing APIs.
Too many questions but we will not take them all in parallel. Instead we will give the questions serious thoughts and get a deeper understanding of the purpose of Project Loom, what problems it solves, and how and when we can benefit from it.
Venkat Subramaniam
Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an instructional professor at the University of Houston.
He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with agile practices on their software projects.
Venkat is a (co)author of multiple books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer. His latest book is Functional Programming in Java: Harnessing the Power of Java 8 Lambda Expressions. You can reach him by email at venkats at agiledeveloper dot com or on twitter at @venkat_s.

Пікірлер: 12

  • @elliotbarlas
    @elliotbarlas Жыл бұрын

    Best explanation of parallelism vs concurrency, hands down. The walking, talking, drinking analogy is brilliant!

  • @elephant742
    @elephant7429 ай бұрын

    35:03 "Compiler knows what I mean and not what I type". 1 year later, GenAI says Hi ! Impressive talk Venkat. Loved it.

  • @mehmoodrehman6336
    @mehmoodrehman6336 Жыл бұрын

    Threading: • Parallel vs Concurrent 1:30 • Parallel vs Asynchronous (non-blocking) 3:30 Threads: • Threads are lightweight 5:50 • But, "lightweight" is relative 7:00 • How many threads can/should you create? 7:30 • Depends on the amount of memory and number of cores 10:00 Multi-Threading, eh?: • Sequential execution 16:00 • Existing programming model: threads tied to tasks (for the most part) 16:18 • What if a task is going to take some time? 16:18 • Create more threads? 16:18 Continuation: • Subroutines 23:45 • Coroutines 24:00 • Continuations are data structures that can remember the state of a previous call and can continue from where it left off • Useful for building conversational state • run • yield • isDone Virtual-Threads of Java: 30:30 • Super lightweight threads • Managed by the JVM and not by the O/S 31:00 • When a virtual thread blocks, the task waits, but not the underlying thread 32:40 • Revisiting the thread limitations • Using fibers/virtual threads 37:10 Summary: 49:44 • Where does it make sense to use virtual threads? 49:44 discussions

  • @hoki8296
    @hoki8296 Жыл бұрын

    Oh god. I am really happy to know this video. Really well explained.

  • @nguyenquan4836
    @nguyenquan4836 Жыл бұрын

    Super explained

  • @dc0cc
    @dc0cc2 жыл бұрын

    Great presentation & presenter!!

  • @IvanRandomDude
    @IvanRandomDude Жыл бұрын

    Will Loom make reactive stack obsolete then? They created reactive Spring in order to have non-blocking web stack. But now, if we can accomplish the same thing imperative style then I assume we can have "normal" Spring that is non-blocking.

  • @adambickford8720

    @adambickford8720

    Жыл бұрын

    Sure, in another 5 years you'll be able to make simple non-blocking calls. Any kind of aggregation will still be a good old java concurrency cluster fuck.

  • @sanjeetsingh4743
    @sanjeetsingh4743 Жыл бұрын

    The king is back

  • @sivaa12
    @sivaa12 Жыл бұрын

    could you please tell me how many threads are there in a core

  • @luisdanielmesa

    @luisdanielmesa

    8 ай бұрын

    2

  • @adambickford8720
    @adambickford8720 Жыл бұрын

    "Moving towards async?" We've been there for almost a decade and in another ~5 years java will be ready... and by 'ready' i mean punt us back to Exceptions like it's the 1900s. Can't wait.

Келесі