J-Spring 2023: The (r)evolution on the JVM – what’s the impact on Java and Kotlin? – Urs Peter
Finally: Project Loom has been officially announced for Java 21, which will be released at the end of this year! Loom will be a game-changer for the JVM’s concurrency model, delivering ‘reactive’ characteristics out of the box without the need for complex concurrency abstractions. Regarding Kotlin, the concurrency features project Loom offers are already available through Coroutines. So the question for Kotlin is: Will Loom make Coroutines obsolete, catapulting Coroutine code to the realm of legacy from one day to another? Or, in other words, will Java gain a significant advantage over Kotlin once Loom is final? In this talk, we will try to answer these questions. Starting with a global introduction to how Loom achieves lightweight concurrency, I will compare essential characteristics of Loom with Coroutines, such as suspend calls, structured concurrency, and context propagation across Threads. Live-coded examples will illustrate the pros and cons of the different approaches and give you a better understanding of the underlying concurrency concepts. Moreover, light will be shed on whether it makes sense to combine Loom with Coroutines. At the end of the talk, you have gained a good understanding of what Loom will mean for Java and how it will impact Kotlin, so you are ready for the next ‘big thing’ on the JVM 😉.