Eclipse OpenJ9: IBM open sources their own JVM
© Shutterstock / Pasechnik
Developers rejoice! IBM’s J9 is now an open source project. Pre-built OpenJDK binaries are now available on AdoptOpenJDK. Let’s see how Eclipse OpenJ9 fits into the OpenJDK ecosystem.
Give your Java application a thrill
OpenJ9 is now an Eclipse Incubator project. For those who don’t know, J9 is IBM’s own JVM. What is the difference between Oracle’s JVM and IBM’s JVM? Here are a few differences that might come in handy.
Earlier this year, Charlie Gracie, Advisory Software Developer — Emerging Runtime Technologies at IBM Canada Ltd. discussed the J9 VM technology and IBM’s plans on open sourcing the technology. He revealed that the initial release of Open J9 was being planned around the Java 9 release.
They kept their promise!
— Mark Stoodley (@mstoodle) September 17, 2017
According to the Eclipse OpenJ9 repository, “the long term goal of the Eclipse OpenJ9 project is to foster an open ecosystem of JVM developers that can collaborate and innovate with designers and developers of hardware platforms, operating systems, tools, and frameworks.”
The project welcomes collaboration, embraces fresh innovation, and extends an opportunity to influence the development of OpenJ9 for the next generation of Java applications.
The Java community has benefited over its history from having multiple implementations of the JVM specification competing to provide the best runtime for your application. Whether adding compressed references, new Cloud features, AOT (ahead of time compilation), or straight up faster performance and lower memory use, the ecosystem has improved through that competition. Eclipse OpenJ9 aims to continue to spur innovation in the runtimes space.
Pre-built OpenJDK binaries are now available on AdoptOpenJDK.
AdoptOpenJDK’s Cloudflare analytics tool shows when the post was added to Reddit and how the number of views skyrocketed:
Although AdoptOpenJDK currently has builds for x86, s390x and ppc64le Linux, they do plan to add Windows, macOS and many more as soon as the OpenJ9 team is ready.
— Steve Wallin (@stevewallin) September 17, 2017
Common questions about Eclipse OpenJ9
The team also created an FAQ to answer common questions about OpenJ9 and how it fits into the OpenJDK ecosystem. However, if the FAQ fails to answer your questions, you should know that they monitor and participate in #OpenJ9 questions on Stack Overflow.
Is Eclipse OpenJ9 a replacement for OpenJDK?
No. Eclipse OpenJ9 is a Java virtual machine (JVM), the engine that runs Java applications, whereas OpenJDK is a complete development kit that contains other components, like the Java class libraries, as well as a JVM. By default, OpenJDK builds with a JVM called Hotspot. Put simply, OpenJ9 is an alternative JVM that you can include as part of an OpenJDK binary.
Why use Eclipse OpenJ9 instead of the default JVM?
If you are looking for an enterprise class runtime environment for your application, build OpenJDK with Eclipse OpenJ9. This high performance, scalable virtual machine is at the core of many IBM enterprise software products, so it has a great pedigree. You can also tune OpenJ9 to further improve the performance of Java applications for specific scenarios. For example, you can switch garbage collection policies to manage memory for different types of workload.
Warning: contributors need to become members of the Eclipse Foundation. Eclipse OpenJ9 is, after all, an Eclipse Foundation project so it all makes sense.