The Future of Java
ā˜•

The Future of Java

Created
May 27, 2022 03:32 PM
Last Updated
Last updated May 30, 2022
Owners
Ankur Paul
Tags
Status
Complete
JavaĀ is seeing a renaissance period after it appeared to lose the cloud native domain to younger platforms. The Java ecosystem seems to be an express lane toward innovation. Many ongoing projects aim to make it cloud friendlier, provide support at the language level, and improveĀ its runtime.Ā Mark Little, VP of engineering at RedHat, zoomed in on these effortsĀ in his Devoxx UK talk.
Java is still on the podium after all these years, bothĀ on Tiobe IndexĀ and alsoĀ in terms of programming languages used on GitHub, but more than that, it is still the de-facto language for enterprise software.Ā Its faster release cadenceĀ proved that it could easily incorporate change and allow developers to be more productive. Backed both by strong software powerhouses (like Amazon, Google, IBM, Microsoft, Netflix, Oracle, Pivotal, Red Hat etc.) andĀ open source foundations (likeĀ Eclipse FoundationĀ orĀ Apache Software Foundation), currently the innovation in the JVM ecosystem focuses on three main areas:
Ā 
Cloud Native Ready JVM Technology
Although in the serverless space, Java occupies just 6.1% (the gold medal being taken by node.js with 62.9%)Ā in theĀ Kubernetes nativeĀ space,Ā applications like Quarkus are promising startup times of 400 milliseconds in addition to reduced memory and disk footprint. Depending on the intention, you can opt to run on OpenJDKā€™s hotspot or onĀ GraalVM. The latter has been a catalyst of great innovation in this space, not only for Java but also for other programming languages supported by it. Project Leyden promises to bring a standard definition for Native Java together with a reference implementation of a Native Image Generator and a conformance test suite for Native Java.
Mark Little: When looking at the future of Java, I have concerns that Project Leyden will not come in the appropriate time to still be relevant.
Kruize Autotune Ā - promises to autotune Kubernetes configuration for Java. More than just JVM, it optimizes the whole stack.
Ā 
Java Ecosystem Support
Adoptium, the repository of a "blessed" set of images, had around 300 million downloads. As it strives to become a home for downloading binaries for all available platforms, currentlyĀ it covers Linux, Windows, macOS, ARM, Intel, AIX and others. In order to ensure that any community build passes a high enough quality bar, under the umbrella of AdoptiumĀ AQAvitĀ 250k automated tests run on more than 100 Build and Test machines in the cloud. The tests focus on security (passing known security vulnerability tests), functional correctness, performance, scalability, and durability.
Holly Cummins: Even though there was a period when I had anĀ  "affair with Node.js" I am currently back to writing code in Java as it developed a lot and many of the good parts of working with JS are now present in Java as well.
Ā 
More Efficient Runtimes
As not everything runs inĀ Kubernetes, there are efforts inĀ improving Java overall: smaller memory footprint (e.g., compact strings), more efficient memory management and garbage collection (Shenandoah,Ā G1), linking and right-sizing applications (jlink), and optimization of IO (HTTP2,Ā WebSockets).
Even though Java is a veteran of programming languages, its community is working on a multitude of initiatives trying to make it fitter for any environment.Ā The five years since a new version of Java was released every sixĀ monthsĀ proved thatĀ OracleĀ can transform the language at a faster pace, and actors likeĀ MicrosoftĀ are getting involved, even if traditionally they werenā€™t. The main concern for its cloud native future is whetherĀ LeydenĀ and other initiatives would be ready in an appropriate amount of time to be still relevant.
Ā 

Ā 
Blog article by: Ankur Paul