BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News JCP EC Industry Experts Reveal Their Favorite JDK 21 Feature at Special Oracle Event in NYC

JCP EC Industry Experts Reveal Their Favorite JDK 21 Feature at Special Oracle Event in NYC

At a special event hosted by the New York Java Special Interest Group (NYJavaSIG) and Garden State Java User Group (GSJUG) on September 13, 2023, at the Bank of New York (BNY) Mellon in New York City, industry experts from the Java Community Process (JCP) Executive Committee (EC) participated in a panel discussion to reveal their favorite JCP EC memory and their favorite features from the upcoming GA release of JDK 21. Included in the festivities was a JDK 21 presentation by Dmitry Chuyko, performance architect at Bellsoft, and a 25th anniversary celebration of the JCP.

Facilitated by Heather VanCura, director of the Java Community Process (JCP) and chairperson of the JCP Executive Committee (EC), the panelists included:

  • Alex Belokrylov, CEO and co-founder of BellSoft
  • Bruno Caballero, software engineer at MicroDoc Computersysteme GmbH
  • Ken Fogel, professor in the Computer Science Technology program at Dawson College
  • Yishai Galatzer, director of software engineering at Amazon Web Services (AWS)
  • Rodrigo Graciano, director and senior principal software engineer at BNY Mellon
  • Dan Heidinga, senior principal software engineer at Red Hat
  • Bruno Souza, Java developer and founder of SouJava (The Brazilian Java Technology Users Society)
  • Brian Stafford, principal software engineering manager of the Java Virtual Machine team at Microsoft
  • Miro Wengner, principal software engineer at OpenValue

Frank Greco, representing NYJavaSIG, and Michael Redlich, representing GSJUG, kicked off the event to welcome over 50 attendees, briefly talk about their respective JUGs and introduce VanCura.

Before introducing the panelists, VanCura presented a short video acknowledging previous JCP EC directors, group photos from various JCP EC meetings, and honoring those who the JCP lost, namely: Bob Lee, Bill Shannon and Patrick Curran. She then provided a short presentation on the latest happenings in Java, especially Java in Education and the major Java projects, namely Amber, Leyden, Loom, Panama, Valhalla and ZGC.

What follows is a short summary from each panelist in which they introduce themselves in the first round, then describe their favorite JCP EC memory and favorite JDK 21 features in the second round.

Alex Belokrylov

Belokrylov has been involved in Java since he joined Sun Microsystems in 2005 as an engineer and ultimately into product management at Oracle. He left Oracle in 2017 to create BellSoft, a downstream distribution of OpenJDK, with some of his fellow engineers.

Belokrylov's favorite JCP memories are the JCP parties at JavaOne and music performed by the NullPointers, the popular Java community band.

Belokrylov's favorite JDK 21 features are: JEP 444, Virtual Threads, because of BellSoft's collaboration with the Spring Framework; and JEP 452: Key Encapsulation Mechanism API, because of the security it provides. Quantum computers, being able to solve very complex algorithms, can potentially break security as we know it. Belokrylov feels that the key encapsulation mechanisms provided by JEP 452, an encryption technique for securing symmetric keys using public key cryptography, can make Java the most secure technology in the post-Quantum computing era.

Bruno Caballero

Caballero is a software engineer at MicroDoc, a company that specializes in custom Java runtimes providing JVMs for non-standard platforms and operating systems that aren't supported by Java. Since 2022, MicroDoc has been involved in GraalVM.

Caballero's favorite JCP memory is his first JCP EC meeting that was held in San Francisco, California.

Caballero's favorite JDK 21 features are: JEP 444, Virtual Threads, because it will make life easier for developers to write asynchronous tasks with lightweight concurrency and virtual threads; and JEP 445, Unnamed Classes and Instance Main Methods (Preview), because after having learned C and Pascal back in 2000, Caballero questioned why there were so many keywords to write a simple "Hello World!" program while learning Java. He believes this feature will be very important to those who are new to the language.

Ken Fogel

Fogel recalled his purchase of an Apple II computer in 1980 since he was a graphic artist at that time. Fogel was so obsessed with the Apple II such that he ultimately became a freelance developer. He also recalled that everyone in Montreal during the mid-1980s was a COBOL developer, and with the emergence of smaller systems, such as the MacOS and Windows, Fogel had a "beautiful field all to himself" as there was no one to write applications for them. He was asked to join the faculty at Dawson College where subsequently grew the C/C++ and Java programs. Fogel retired in 2021, but remains very active in the Java community. He joined the JCP, representing himself, because he felt that Java's focus was moving away from education and ultimately initiated the Java in Education program that launched in 2020.

Fogel's favorite JCP memory is getting elected to the JCP.

Fogel's favorite JDK 21 features are: JEP 441, Pattern Matching for switch, because this construct has evolved such that it reminded him how much he enjoyed using the SelectCase statements in Visual Basic 6. He can't imagine anyone using the C-style switch statements anymore; JEP 445, Unnamed Classes and Instance Main Methods (Preview), because, as an anti-"Hello World" developer, he feels that object decoration detracts from understanding the syntax of the language. Fogel predicted that perhaps System.out will finally be removed in the next preview of this feature; and JEP 442, Foreign Function & Memory API (Third Preview), because this feature will change how Java connects with external libraries synonymous to the ease by which Python and C libraries are shared.

Yishai Galatzer

At Amazon Web Services, Galatzer has been involved in projects such as Amazon Corretto, and contributions to OpenJDK projects, such as Project Lilliput and Generational Shenandoah. Since AWS also supports the Rust programming language, he is interested in how the two languages and their respective libraries can work together.

Galatzer's favorite JCP memory is this event because, as the alternate to Volker Simonis, principal software engineer at AWS, this was Galatzer's first JCP EC meeting. So instead, he recalled the first time he met VanCura at Devoxx US 2017 in San Jose, California.

Galatzer's Favorite JDK 21 features are: Project Loom, because while skeptical at first, the AWS team recently noticed improvements in throughput by a factor of four in one of their services; and JEP 442, Foreign Function & Memory API (Third Preview), because the AWS Rust libraries, having been thoroughly tested and validated; can now be shared in Java applications. A new AWS project currently being developed, Duchess, will be able to convert Rust to Java and Java to Rust.

Rodrigo Graciano

Graciano has been involved with the JCP EC along with his BNY Mellon colleagues, Chandra Guntur, Don Raab and Sirisha Pratha. A Java Champion and serving on the NYJavaSIG leadership team, he has been working with Java for "too many years to remember."

Graciano's favorite JCP memory is this event because he recently joined the JCP.

Graciano's favorite JDK 21 features are: JEP 445, Unnamed Classes and Instance Main Methods (Preview), because it will make Java easier for newcomers of the language; and JEP 440, Record Patterns, because it eliminates the casting that was once required and the ease by with records can be deconstructed for pattern matching.

Dan Heidinga

Serving as a stand-in for Tim Ellison, distinguished engineer and principal architect at Red Hat, Heidinga has been involved in Java since 2007 when he joined IBM working on OpenJ9 which was ultimately open-sourced in 2016. Now with Red Hat, he works on a number of the OpenJDK projects and is enthusiastic that development in Project Valhalla is coming closer to fruition.

Heidinga's favorite JCP memory was witnessing the approval of the JDK 7 specification (JSR 336) and his first major project working on JSR 292, Supporting Dynamically Typed Languages on the Java Platform, developing method handles and the invokedynamic method-invocation opcode, introduced in JDK 7.

Heidinga's favorite JDK 21 feature is: JEP 446, Scoped Values (Preview), because this feature does a very nice job of solving the problem of passing context information with expensive thread locals.

Bruno Souza

Known as the Brazilian Javaman, Souza queried the audience on who are/would like to be Java developers, who are/would like to be contributors to open-source projects, and who would like to earn a lot of money as a Java developer. He explained that the role of the JCP is to ensure that Java remains relevant and is responsible for accomplishments such as Java becoming open-source and how the Java in Education program has helped students get involved with the language.

Souza had many favorite JCP memories, like the time SouJava won a JCP award, but one unforgettable memory was the time he was almost arrested at a JCP party in the United States because he brought a bottle of Cachaça, a Brazilian sugar cane drink similar to rum, to serve "Caipirinhas" (famous Brazilian mix) at the party.

Souza's favorite JDK 21 feature besides JEP 444, Virtual Threads, is the timing of its release. JDK 21 is out when the JUGs are back meeting face-to-face at JUG meetings and conferences, post-pandemic. He feels this is important because it will allow Java developers to work together to make JDK 21 successful. In the summer of 2023, he toured Europe where he visited 10 countries and 13 JUGs.

Brian Stafford

Serving as a stand-in for Martijn Verburg, principal engineering group manager at Microsoft, Stafford mentioned that, like Fogel, he also has an Apple IIe where he programmed in machine language as a young adult. Stafford mentioned that he practiced law in the late 1990s before deciding to move to a career in computer programming. His first programming course was in Java where he characterized the language as "amazing" and "beautiful," and he now associates Java as the best decision he has ever made.

Stafford's favorite JCP memory is this event since it was the first one he attended.

Stafford's favorite JDK 21 features are: Project Loom because Microsoft is interested to see what their customers can do with virtual threads and lightweight concurrency. He referenced the Ron Pressler presentation at the recent JVM Language Summit; and JEP 445, Unnamed Classes and Instance Main Methods (Preview), because his daughter, after having taken a Python course in college, questioned why there were so many keywords to write a simple "Hello World!" program while learning Java.

Miro Wengner

Wengner, who wasn't in attendance during the first round of introductions, is a principal software engineer at OpenValue. He is a published author and Java Champion, and is involved with OpenJDK, Mission Control and the JCP EC.

Wengner's favorite JCP memory is having connected with folks, such as Bruno Souza, when he joined Sun Microsystems in 2002. It was there where he developed a passion for Java and was ultimately elected as a member of the JCP EC.

Wengner's favorite JDK 21 features are the functional programming aspects of the language, such as JEP 441, Pattern Matching for switch, and JEP 445, Unnamed Classes and Instance Main Methods (Preview), that can now be used in his work at OpenValue where they practice functional programming with Kotlin and Scala. He is also a fan of JEP 442, Foreign Function & Memory API (Third Preview), because he can apply this feature working with hardware applications such as robotics.

Java 21: The World is at Your Feet

Chuyko presented "Java 21: The World at Your Feet" that highlighted five of the 15 new features: JEP 444, Virtual Threads; JEP 439, Generational ZGC; JEP 431, Sequenced Collections; JEP 452, Key Encapsulation Mechanism API; and JEP 441, Pattern Matching for switch.

Before starting his presentation, he recalled his favorite JCP memory which was the JCP meeting at CodeOne in San Francisco in September 2019. He also revealed his favorite JDK 21 feature, which interestingly was not one of the JEPs in the final feature set, but JDK-8303018, Unicode Emoji Properties, as JDK 21 now supports emojis with six new methods defined in the Character class.

In his conclusions, Chuyko discussed that JDK 21 is a valuable update from JDK 20 and an even more valuable update from JDK 17, the last LTS release, mainly due to: the novelties and enhancements within the JVM, language and APIs; and the necessary deprecations and removals.

Happy 25th Anniversary, JCP!

In celebration of the 25th anniversary of the JCP, a special cake with strawberries and cream cheese filling was prepared for attendees to consume at the end of the event.

The JCP is composed of corporations, non-profit organizations, Java User Groups and individuals. The latest process document, JCP 2.11.10, was released in July 2019. The JCP, initially formalized in December 1998 at the Java for Business Conference at the Jacob K. Javits Convention Center in New York City, documented the rationale for a Java specification process as stated in the JCP 1.0 process document:

Sun Microsystems, Inc., is implementing a formal process for developing Java specifications that produces high-quality specifications in "Internet-time" using an inclusive, consensus building process that not only delivers the specification, but also the reference implementation and its associated suite of compatibility tests.

Our experience has proven that the best way to develop a specification is to start with a handful of industry experts who have a deep understanding of the technology in question and then have a strong technical lead work with them to create a first draft. Consensus is then built using an iterative review process that allows an ever-widening audience to participate and to see their comments and suggestions incorporated into successive draft versions of the specification prior to its final release.

Alan Baratz, former president of Sun's JavaSoft business unit, formally announced the newly-formed JCP and former VP and Sun Fellow, Jim Mitchell at Sun Labs, would be its first director.

The JCP EC meets six times a year, twice in person. This event, hosted by NYJavaSIG and GSJUG, is the first one with Java User Groups in celebrating the 25th anniversary of the JCP. The event was live streamed and the recording is available. Oracle will provide information on how other JUGs can host their own in-person event.

Editor's Note

Michael Redlich, in attendance at this event, serves as one of the directors of the Garden State Java User Group.

About the Author

Rate this Article

Adoption
Style

BT