The podcast of foojay.io, a central resource for the Java community’s daily information needs, a place for friends of OpenJDK, and a community platform for th...
We serve you a podcast about the new Java version every six months.Our regular guest, Simon Ritter, Deputy CTO of Azul, is known on social media as "speakjava." He is part of the OpenJDK vulnerability group, JCP executive committee, and expert group for the Java SE specification request so that he can share a lot of inside information with us. In this episode, we are joined by Hanno Embregts, a Java Developer by day and musician by night. He publishes a post on Foojay with all the details of every new Java release and prepared a long description of all the new features included in Java 24. Let's see what this new release brings us...Guests Simon Ritter https://www.linkedin.com/in/siritter/ https://bsky.app/profile/speakjava.bsky.social Hanno Embregts https://www.linkedin.com/in/hannotify/ https://bsky.app/profile/hanno.codes Content00:00 Introduction of the topic and guests00:58 Why 24 JEPs in release 24?02:16 Overview of the changes in Java 2403:37 The changes in Hotspot and GC JEP 404: Generational Shenandoah (Experimental) https://openjdk.org/jeps/404 JEP 450: Compact Object Headers (Experimental) https://openjdk.org/jeps/450 JEP 475: Late Barrier Expansion for G1 https://openjdk.org/jeps/475 04:46 JEP 483: Ahead-of-Time Class Loading & Linking https://openjdk.org/jeps/483 07:30 JEP 491: Synchronize Virtual Threads without Pinning https://openjdk.org/jeps/491 10:27 Security JEPs and Quantum resistance JEP 478: Key Derivation Function API (Preview) https://openjdk.org/jeps/478 JEP 496: Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism https://openjdk.org/jeps/496 JEP 497: Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm https://openjdk.org/jeps/497 13:00 Tools JEP 493: Linking Run-Time Images without JMODs https://openjdk.org/jeps/493 16:47 Repreviews and finalizations JEP 489: Vector API (Ninth Incubator) https://openjdk.org/jeps/489 18:27 JEP 484: Class-File API https://openjdk.org/jeps/484 19:13 JEP 485: Stream Gatherers https://openjdk.org/jeps/485 21:22 JEP 487: Scoped Values (Fourth Preview) https://openjdk.org/jeps/487 22:15 JEP 488: Primitive Types in Patterns, instanceof, and switch (Second Preview) https://openjdk.org/jeps/488 22:30 How JEPs get finalized and included23:44 JEP 492: Flexible Constructor Bodies (Third Preview) https://openjdk.org/jeps/492 24:09 JEP 494: Module Import Declarations (Second Preview) https://openjdk.org/jeps/494 25:07 JEP 495: Simple Source Files and Instance Main Methods (Fourth Preview) https://openjdk.org/jeps/495 29:24 JEP 499: Structured Concurrency (Fourth Preview) https://openjdk.org/jeps/499 34:04 Deprecations & Restrictions34:46 JEP 472: Prepare to Restrict the Use of JNI https://openjdk.org/jeps/472 37:15 JEP 486: Permanently Disable the Security Manager https://openjdk.org/jeps/486 38:53 JEP 490: ZGC: Remove the Non-Generational Mode https://openjdk.org/jeps/490 Trash Talk - Exploring the JVM memory management by Gerrit Grunwald https://www.youtube.com/watch?v=Jh79ojcror0 42:09 JEP 498: Warn upon Use of Memory-Access Methods in sun.misc.Unsafe https://openjdk.org/jeps/498 45:43 Removal of 32-bit support JEP 479: Remove the Windows 32-bit x86 Port https://openjdk.org/jeps/479 JEP 501: Deprecate the 32-bit x86 Port for Removal https://openjdk.org/jeps/501 47:37 Should we use Java 24 in production?51:09 Looking forward to the next LTS in September54:14 Conclusion
--------
54:53
Writing a book. Does it make you rich and famous? (#67)
Let me share a personal story. I started experimenting with Java on a Raspberry Pi about five years ago and blogged a few articles about it. But the more I experimented, the more I wrote down, and eventually, I had written a book… I worked on it for six months in a row, every evening and a lot of weekends. But the moment I received the box with my author copies was an incredible feeling. Holding a paper book with your name is a special moment.Fast forward to now. The 1000 paper copies are sold out. I have the last 10 copies in case you still want one ;-) But as I self-published the ebook, it's still for sale on Leanpub, and I keep updating it. That's one of the first significant differences between publishing a paper book and an ebook…. As an author, I got about 2 euros per paper book from the publisher, and LeanPub pays 80% royalties. Don't forget that I have to pay taxes on what I earn. So, if you do the math, you'll understand that the book didn't make me rich. But yes, it helped me in my career and was one of the reasons I became a Java Champion. So, we can argue about the "becoming famous".But that's only my story. I invited several guests to share their knowledge about book writing:Marián Varga is finishing a book and tells about publishing a book with a publisher.Wim Deblauwe wrote a few books and has much experience with self-publishing.Len Epp is the co-founder of Leanpub, so he can tell us a lot about ebooks.And we start with Trisha Gee, who wrote a lot of books!Guests Trisha Gee https://www.linkedin.com/in/trishagee/ https://jvm.social/@trisha_gee https://bsky.app/profile/trishagee.bsky.social https://x.com/trisha_gee Len Epp https://www.linkedin.com/in/lenepp/ https://bsky.app/profile/lenepp.bsky.social https://x.com/lenepp Wim Deblauwe https://www.linkedin.com/in/wimdeblauwe/ https://bsky.app/profile/wimdeblauwe.com https://www.youtube.com/@WimDeblauwe https://www.wimdeblauwe.com/ https://www.widit.be/ Marián Varga https://www.dastalvi.com/book/ https://www.linkedin.com/in/mari%C3%A1n-varga-4869a042/ https://mastodon.social/@mrvarga Links Book by Frank https://webtechie.be/books/ https://leanpub.com/gettingstartedwithjavaontheraspberrypi/ Books and links by Trisha Gee https://trishagee.com/books/ https://trishagee.com/2022/12/12/tools-and-processes-for-collaborating-on-a-book-remotely/ https://trishagee.com/2022/12/01/writing-a-book-is-hard/ https://medium.com/97-things https://youtu.be/RzaNJzz5jW8 https://learning.oreilly.com/search/?q=trisha%20gee&rows=100&language=en&language=es Books by Wim Deblauwe https://www.infoq.com/minibooks/spring-boot-api-backend-version2/ https://www.wimdeblauwe.com/books/modern-frontends-with-htmx https://www.wimdeblauwe.com/books/taming-thymeleaf/ Book by Marián Varga https://www.dastalvi.com/book/ https://bsky.app/profile/love2integrate.com Leanpub https://www.youtube.com/leanpub https://twitter.com/leanpub https://mastodon.social/@leanpub https://www.instagram.com/leanpub https://bsky.app/profile/leanpub.bsky.social Lulu https://www.lulu.com/ Content00:00 Introduction of the topic and guests01:53 Books by Trisha Gee02:24 Trisha's motivation for writing books04:13 Difference between publisher and self-publishing09:53 Publishers are looking for authors and course creators12:55 How long do you work on a book?17:35 Can we expect a new book by Trisha?21:00 Automating the writing process24:50 Len Epp about Leanpub and how it started27:18 On Leanpub, you can publish a book-in-progress27:51 Different publishing processes with Leanpub30:20 You can use LeanPub to generate your book, but you don't need to sell it on Leanpub32:57 80% of the selling price goes to the author40:09 How to market your book45:35 Let an expert handle the payments...50:55 Books by Wim Deblauwe51:45 Wim's motivation for writing books53:15 Earning back the time spent on the writing54:37 How to sell paper books on Lulu57:19 Tools used to write a book58:34 Wim's author-plans for the future59:42 How the books influenced Wim's career01:00:02 Marián Varga about the topic of his book01:03:07 Current status of the book01:04:03 The book is a teamwork with a publisher01:07:06 Organizing the work between multiple authors01:09:17 Time worked on the book01:10:40 Feedback from the community for the content01:12:13 What Marián wants to achieve with the book01:14:38 Conclusion
--------
1:15:28
Let's Talk About Java Code! Diving into Foojay blog posts... (#66)
In this Foojay podcast, we dive into a few articles that were published recently and focus on code. Igor Kulakov of JetBrains gives us his insights into the tool he created to find duplicate content in documentation. Rijo Sam explains how you can generate real random values and how he created a train departure display. Maxillian Arruda explains in a very detailed post the different ways to construct a complex Java object. And we start with Wim De Troye about the code changes he had to do in a project that got upgraded from Spring Boot 2 to 3.Guests Wim De Troyer https://www.linkedin.com/in/wim-de-troyer-40647b130/ Maximillian Arruda https://www.linkedin.com/in/maxarruda/ Rijo Sam https://www.linkedin.com/in/rijosam19/ Igor Kulakov https://www.linkedin.com/in/inspector-patronum/ https://x.com/flounder4130 Links https://foojay.io/today/the-proper-way-to-define-configuration-properties-in-spring/ https://foojay.io/today/make-the-life-of-your-developer-clients-easier-with-smart-builders/ https://foojay.io/today/pseudorandom-number-generator/ https://foojay.io/today/crafting-your-own-railway-display-with-java/ https://foojay.io/today/duplicate-finder-for-text-requirements/ Content00:00 Introduction of the topics and guests 00:55 Wim De Troyer 03:27 Pro or contra Lombok? 06:09 BeanValidation as part of the solution 07:40 Generating a config JSON file 08:50 Maxillian Arruda 09:19 What is a complex object? 12:09 Using records to simplify object creation 14:48 Telescoping constructors 16:08 Static factory method 19:09 Builder pattern 21:00 The risks of rewriting a project 23:00 Thread safety in object creation 27:53 Rijo Sam 29:07 java.util.Random is not fully random... 30:20 About SecureRandom, seeds, and blocking algorithms 34:16 Vaadin railway display 37:43 Getting railway data from an open API 38:44 It's a PET project together with Rijo's partner Ancy 40:22 Runs on a Raspberry Pi 41:18 The next project... 41:34 Igor Kulakov 43:02 DRY principle in documentation 43:37 How the tool works an integration in JetBrains products 44:54 Test-first approach in the project 47:10 Not using AI (yet) to avoid extra cost, local systems could be integrated 48:22 Input data the tool can handle 49:14 Highlights of the blog (and following) post(s) 54:35 Outro
--------
54:59
Boost Your Career in 2025! (#65)
With the first Foojay podcast of 2025, we want to help you to boost your career! By now, you've likely had your year-end performance review with your manager and set some goals to advance in the coming year. Are you ready to take your career growth into your own hands? I've invited three fantastic guests who are eager to share their experiences and help you elevate your professional journey.Guests Rafael Del Nero https://www.linkedin.com/in/rafadelnero/ https://www.youtube.com/c/javachallengers https://javachallengers.com Bruno Souza https://www.linkedin.com/in/brjavaman/ https://java.mn Career project/blog: https://code4.life/blog Book: https://careermasterplan.dev Join the newsletter, with daily career tips: https://code4.life Elder Moraes https://www.linkedin.com/in/eldermoraes/ https://www.youtube.com/ElderMoraes https://instagram.com/eldermoraes SouJava (JUG Brazil) https://www.meetup.com/SouJava/ http://soujava.org.br/ Content00:00 Introduction of topic and guests01:44 Why are the guests mentors for others?06:25 There are many important skills you need to develop07:38 How are they handling the mentoring process?15:58 A mentor needs a mentor himself16:43 Different growing paths, technical versus managing21:59 How participating in JUGs can evolve your career30:50 The impact of being a Java Champion33:33 What is the value of mentoring?41:18 How to get a salary increase?50:18 Just ask for any change you want!59:44 Book Bruno01:01:16 Outro
--------
1:02:44
Interviews at JFall about opensource, OpenJDK evolutions, Project Loom, JVM,... (#64)
Let's wrap up this year with more interviews from the JFall conference. In this episode you'll learn more about Foojay, JVM internals and writing your own programming language, Project Loom and structured concurrency, learning at conferences, code reviews, creating desktop applications with Java, infrastructure as code, JUG Noord, and much more!Guests Geertjan Wielenga https://www.linkedin.com/in/geertjanwielenga/ Nataliia Dziubenko https://www.linkedin.com/in/nataliia-dziubenko-341919b8/ Hanno Embregts https://www.linkedin.com/in/hannotify/ Hinse ter Schuur https://www.linkedin.com/in/hinseterschuur/ Anthony Goubard https://www.linkedin.com/in/anthonygoubard/ Steffan Norberhuis https://www.linkedin.com/in/steffannorberhuis/ Paulien van Alst https://www.linkedin.com/in/paulienvanalst/ Lutske de Leeuw https://www.linkedin.com/in/lutske/ Johan HuttingContent00:00 Introduction of topics and guests01:09 Geertjan Wielenga: OpenJDK evolutions01:47 The goal of Foojay, the website for the Friends Of OpenJDK https://foojay.io/ 03:49 Nataliia Dziubenko: What you can learn at conferences04:48 Writing your own programming language on top of JVM07:30 What it learned her about the Java compiler08:38 How it influenced her career as a Java developer11:20 Hanno Embregts: Project Loom, structured concurrency and scoped values14:04 Playing music during conference talks15:09 Important OpenJDK evolutions17:07 Hinse ter Schuur: Learning at conferences17:58 Best practices for code reviews20:03 Anthony Goubard: Creating desktop apps with Java https://www.japplis.com 22:45 Steffan Norberhuis: Infrastructure code for AWS https://www.rocketleap.dev/ 23:50 Java as a Cloud language24:54 How developers look at infrastructure26:03 Is getting locked into a single cloud vendor a risk?28:03 Paulien van Alst, Lutske de Leeuw en Johan Hutting: Introducing JUG Noord https://www.meetup.com/jug-noord 29:20 Introducing VoxxedDays Amsterdam https://amsterdam.voxxeddays.com/ 29:40 NLJUG versus local JUGs30:06 Starting as a new speaker at JUGs30:24 How to contribute to opensource31:24 How to speak at JUG Noord31:53 Learned at JFall32:38 Outro
The podcast of foojay.io, a central resource for the Java community’s daily information needs, a place for friends of OpenJDK, and a community platform for the Java ecosystem — bringing together and helping Java professionals everywhere.