Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Clone or download
Latest commit f27fedf Dec 14, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
artwork Add New Logo Colour Combinations Sep 29, 2017
buildenv Add libXi libXrandr to ppc64le & s390x Dockerfiles for jdk12+ Dec 14, 2018
buildspecs Remove obsolete jcl MAX link Dec 12, 2018
cdsadapter Contribute the source code of CDS adapter to OpenJ9 Jun 18, 2018
debugtools Implement tests for ddr !dumppackage command Dec 12, 2018
doc Merge pull request #3772 from SueChaplain/add_macos_on_8 Dec 4, 2018
jcl Remove unused definePackage() Dec 13, 2018
runtime Add SVM_ASSERT* macros Dec 14, 2018
sourcetools Add support for UMA predicates: spec.javaNN Nov 12, 2018
test Remove inconsistant DDR !dumppackage test Dec 13, 2018
.gitattributes Limit .gitattributes to specify only specify binary files Jun 26, 2018
.gitignore Add IntelliJ CLion specific files to .gitignore Dec 5, 2018
.travis.yml Travis: Increase ccache size to 1 GB Dec 10, 2018
CMakeLists.txt CMake: Allow user to specify BOOT_JDK Dec 10, 2018
CONTRIBUTING.md Update guidelines to add user doc process Jun 20, 2018
LICENSE Remove non-ASCII characters Aug 1, 2018
README.md Add early links in README to beginner and help wanted issues Jun 7, 2018
about.html Update the SPDX-License-Identifier as per the Eclipse OpenJ9 CQ Dec 22, 2017
asl-v20.text Fix line-ends (#271) Oct 10, 2017
epl-2.0.html Initial OpenJ9 contribution Sep 13, 2017
longabout.html Update longabout file's date to that of the latest change May 15, 2018
notice.html Fix line endings Apr 23, 2018

README.md

OpenJ9 logo

Welcome to the Eclipse OpenJ9 repository

License License

We're not sure which route you might have taken on your way here, but we're really pleased to see you! If you came directly from our website, you've probably already learned a lot about Eclipse OpenJ9 and how it fits in to the OpenJDK ecosystem. If you came via some other route, here are a few key links to get you started:

  • Eclipse OpenJ9 website - Learn about this high performance, enterprise-grade Java Virtual Machine (JVM) and why we think you want to get involved in its development.
  • AdoptOpenJDK website - Grab pre-built OpenJDK binaries that embed OpenJ9 and try it out.
  • Build instructions - Here's how you can build an OpenJDK with OpenJ9 yourself.
  • FAQ

If you're looking for ways to help out at the project (thanks!), we have:

If you're here to learn more about the project, read on ...

What is Eclipse OpenJ9?

Eclipse OpenJ9 is an independent implementation of a Java Virtual Machine. "Independent implementation" means it was built using the Java Virtual Machine specification without using any code from any other Java Virtual Machine.

The OpenJ9 JVM combines with the Java Class libraries from OpenJDK to create a complete JDK tuned for footprint, performance, and reliability that is well suited for cloud deployments.

The original source contribution to OpenJ9 came from the IBM "J9" JVM which has been used in production by thousands of Java applications for the last two decades. In September 2017, IBM completed open sourcing the J9 JVM as "Eclipse OpenJ9" at the Eclipse Foundation. Significant parts of J9 are also open source at the Eclipse OMR project. OpenJ9 has a permissive license (Apache License 2.0 or Eclipse Public License 2.0 with a secondary compatibility license for the OpenJDK project's GPLv2 license) that is designed to allow OpenJDK to be built with the OpenJ9 JVM. Please see our LICENSE file for more details.

Eclipse OpenJ9 is a source code project that can be built alongside Java class libraries. Cross platform nightly and release binaries and docker containers for OpenJDK with OpenJ9, targeting several JDK levels (like JDK8, JDK10, etc.) are built by the AdoptOpenJDK organization and can be downloaded from the AdoptOpenJDK download site or on DockerHub.

What is the goal of the project?

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.

How do I contribute?

Since we are an Eclipse Foundation project, each contributor needs to sign an Eclipse Contributor Agreement. The Eclipse Foundation operates under the Eclipse Code of Conduct to promote fairness, openness, and inclusion.

To get started, read our Contribution Guide.

If you think you want to contribute but you're not ready to sign the Eclipse Contributor Agreement, why not come along to our weekly Ask the OpenJ9 community calls to find out more about how we work. We talk about new ideas, answer any questions that get raised, and discuss project plans and status. We also do lightning talks on features and functions of the VM. Visit the #planning channel in our Slack workspace for information about upcoming community calls and minutes from previous meetings (Join here).

What repos are part of the project?

Where can I learn more?

Videos and Presentations

Also check out the Resources page on our website.

Copyright (c) 2017, 2018 IBM Corp. and others