We are happy and proud to announce our next IN PERSON meetup with two awesome speakers from Red Hat. The meetup will be hosted by Volksbank.
Please join us and RSVP!
Because of the limited number of seats, please keep your RSVP up-to-date, so we can welcome someone else of you can't make it.
===
17:30 Doors open
18:00 Food & Drinks
19:00 Quarkus 3: The Road to Loom for Cheaper, Faster and Easier Concurrent Applications by Daniel Oh
20.00 Break
20:15 Exploring Loom: life and dead(lock) of a virtual thread by Mario Fusco
21:15 Drinks
Giveaways
1 JetBrains license
1 print copy of The Definitive Guide to Security in Jakarte EE
Talks
Quarkus 3: The Road to Loom for Cheaper, Faster and Easier Concurrent Applications
Developers have had extraordinary experiences and taken stunning capabilities while they were developing Java microservices from local to the cloud using Quarkus for the past 4 years. But there is more to come with their journey since we have just arrived in Quarkus 3 which provides good, better, and even excellent features and capabilities in terms of developer experience, performance, scalability, and cloud integration. Especially, Quarkus 3 simplifies asynchronous concurrent applications using virtual threads (Project Loom) for high scalability.
In this session, we take you through how Quarkus integrates Loom for developers to make concurrent applications easier, have cheaper memory, and have high performance using virtual threads. You can also learn about what’s new in Quarkus 3 such as JakartaEE 10, MicroProfile 6, Hibernate ORM 6, and more.
Exploring Loom: life and dead(lock) of a virtual thread
Virtual threads finally exited their development and preview phases and with JVM 21 are available as a stable and supported Java feature. However they are not meant to be a complete drop in replacement of existing native threads. Conversely they work extremely well in some specific contexts, but are not a so good fit in others, so it makes sense to explore more in depth their internal implementation details, trying to answer to some interesting questions. What does it mean in practice that virtual threads aren't preemptive? What does it happen when you use ThreadLocals with virtual threads? Are local variables enough to replace ThreadLocals in all possible scenarios? Is it possible to replace the fork/join pool, used as default carrier thread pool, with something different? Why could it be a good idea and what could go wrong trying to do so? At the end we will conclude this exploration trying to experience the multithreaded programming equivalent of the sound of one hand clapping or how virtual threads make it possible to cause a deadlock using one single lock.
Speakers
Daniel Oh
Daniel Oh is Java Champion and Senior Principal Developer Advocate at Red Hat. He works to evangelize building cloud-native microservices and serverless functions with cloud-native runtimes to developers. He also continues to contribute to various open-source cloud projects and ecosystems as a Cloud Native Computing Foundation (CNCF) ambassador for accelerating hybrid cloud platform adoption in a variety of enterprises. Daniel also speaks at technical seminars, workshops, and meetups to elaborate on new emerging technologies for enterprise developers, SREs, platform engineers, and DevOps teams.
Mario Fusco
Mario is a senior principal software engineer at Red Hat working as Drools project lead. Among his interests there are also functional programming and Domain Specific Languages. He is also a Java Champion, the JUG Milano coordinator, a frequent speaker and the co-author of "Modern Java in Action" published by Manning.