Java Full-Stack Report February 2022: New & Noteworthy
See Current Version
Here are the most important news for Java developers from last month - in my opinion, at least.
Table Of Contents
- What’s This?
- New & Noteworthy
New & Noteworthy
InfoQ Java Trends Report December 2021
Here are the (shortened) key takeaways of the article. Disclosure: I’m one of the authors.
- Containers are now the way that the majority of Java applications are deployed.
- Java 11 has reached parity with Java 8 in terms of market share.
- Spring Framework 6 and Spring Boot 3, scheduled for GA releases in 2022, will be a major overhaul of these projects to adopt Native Java, modularity, and observability.
- Quarkus has “crossed the chasm” into the Early Majority space.
- Microsoft furthers its Java commitment by releasing its own OpenJDK distribution and joining the Java Community Process.
- VS Code is shaking things up in the Java IDE space.
Oracle’s Java Plans for 2022
Oracle has four multi-year projects underway to improve Java. A ten-minute video summarizes them and their 2022 plans. The bad news is that none of them may have new features leaving preview/incubation mode before Java 20 (March 2023).
- Project Loom adds lightweight threads and structured concurrency to Java. Its early builds use Java 19, so the lightweight threads may show up as an incubating feature next September.
- Project Valhalla introduces types that “code like a class and work like an
int”. That’s value classes first and primitive classes next. It also wants generics to work for primitive types like
int. Read more about its current state here.
- Project Panama improves how Java works with non-Java code. That includes native code and special CPU operations (“vector instructions”). Some of this is incubating in Java right now and may partially turn into preview features this year.
- Project Amber releases smaller features that make us more productive. Examples include
var, text blocks, records,
switchenhancements, and sealed types. Amber plans more improvements for
switchand other areas.
Java in Visual Studio Code Roadmap 2022
VS Code plans improvements in these areas:
- project set-up and migration from other IDEs,
- Gradle & Maven integration,
- Spring Boot integration,
- code parsing, code completion & debugging, and
- Kubernetes & cloud service integration.
The article says, “We now have more than 1.5 million users developing Java in VS Code.” What counts as a “Java developer with VS Code”? And is 1.5 million a lot? We don’t know. JetBrains cites “10 million+ developers” for all their tools. The installer for Eclipse IDE for Java Developers 2021-12, released December 8, 2021, has been downloaded about 850,000 times as of February 2, 2022. This number may not contain auto-updating IDE instances and alternate distributions.
White House Photo Op for Open-Source Security
Log4Shell made the need for more security in Java clear. I suggested seven actions last month. So, what has happened here?
A photo op at the White House. “Photo op” stands for “photo opportunity”. With a photo op, politicians show that they “do something” by meeting with “the important people” and being filmed while doing so. So the US president met with Apache, Linux, Apple, Amazon, Google, IBM, Microsoft, Oracle, and government agencies.
We didn’t get any concrete decisions or initiatives out of the photo op. We usually don’t. But the participants would “continue discussions to support these initiatives in the coming weeks”. Which is about the best we can hope for.
Last month, I could have sworn that the Java community would have an official response to Log4Shell. Now I’m not sure anymore.
Preview of Native Java with Spring Boot 3.0 In March
Spring Boot 3.0 released the first milestone on January 20, 2022. It uses Spring 6.0, which “will require Java 17 and Jakarta EE 9, provides first-class support for Java modules and native compilation, bakes observability into Spring, and drops outdated features and third-party integrations”.
New Spring Boot milestones are planned for every two months. And the March one will already contain most of the Native Java functionality, as this podcast interview with Juergen “Spring” Hoeller reveals at 1h:23min. That supersedes the separate Spring Native project for Spring Boot 2.x.