Java is evolving quickly, and with potential changes to the OpenJDK release cycle, it may accelerate even further. For people like Michael Rasmussen, JRebel development lead at Perforce, keeping up with these changes and understanding their impact on development; creating features that resonate with the Java development community, keeping applications up to date with the latest versions of popular Java technologies, and developing new features, improvements, and integrations for JRebel is critical. and integrations for JRebel is critical.
SDTimes conducted an interview with Michael to discuss in detail the Java trends the team should be looking at during 2022.
First, in terms of release adoption size, Michael says that Java 8 is a release that has driven significant growth in adoption because it includes some major feature additions. Java 17, on the other hand, has not seen such significant changes, and while there are many benefits for Java 8 users to migrate to Java 17, it is unlikely to drive teams to do so on a large scale. So Java 17 adoption is unlikely to reach the scale of Java 8.
And after looking at the release roadmap and the status of various Java enhancement projects, Michael believes that the next major adoption event we will see in Java will be related to the Valhalla project and the addition of value types to the language. However, even given the faster LTS release cadence, Michael speculates that this will be in the post-Java 25 LTS release.
Michael notes that the change in release cadence has not been formalized, but given that all the major OpenJDK vendors are now on board, it is likely that the LTS release cadence will change from every three years to every two years. This move will have a huge impact on the Java ecosystem; one of the long-term effects will be that fewer users will adopt non-LTS versions.
“Essentially, why would you want to adopt an intermediate version when you can wait less than two years to adopt an LTS version that has the features you need? It’s not that people don’t adopt non-LTS versions - it’s just that most Java teams can’t afford to upgrade to the latest version at release time. On the other hand, the fast release cadence means that small upgrades are usually problem-free upgrades. If you have a project, or you’re starting one, it’s best to aim for an LTS version that aligns with the expected project release and use the latest non-LTS version for the duration of development.”
When it comes to the upcoming 2022 release of Java 18 and 19, Michael, for his part, said that among the features to watch for should be the external function interface and the vector API. “I hope that both of those features will be finalized in Java 19. On the language side, I think we’ll continue to see more and more enhancements to pattern matching.”
In addition, given that JRebel conducts an annual survey of the Java industry, Michael said that the technology trends shown in this year’s report will include the following.
At the framework level, microservices frameworks such as Micronaut and Quarkus will continue to take market share on Spring Boot. However, given that Spring Framework 6 and Spring Boot 3 are scheduled for release in the second half of 2022, Spring will not go down without a fight. Another thing to consider with the new Spring releases is that they will target Java 17 and Jakarta EE 9, a move that will also likely help drive adoption of Java 17.
On the IDE side, IntelliJ IDEA will still be the most used one, but there will be more VSCode as a secondary or even primary tool.