{"id":13485900,"url":"https://github.com/eclipse-openj9/openj9","last_synced_at":"2026-01-29T20:12:21.165Z","repository":{"id":36960362,"uuid":"101408117","full_name":"eclipse-openj9/openj9","owner":"eclipse-openj9","description":"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.","archived":false,"fork":false,"pushed_at":"2025-04-23T19:03:23.000Z","size":192634,"stargazers_count":3402,"open_issues_count":2786,"forks_count":752,"subscribers_count":148,"default_branch":"master","last_synced_at":"2025-04-24T08:54:02.032Z","etag":null,"topics":["compiler","eclipse-openj9","garbage-collector","gc","hacktoberfest","interpreter","java","jit","jvm","runtime","virtual-machine"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eclipse-openj9.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-08-25T13:46:07.000Z","updated_at":"2025-04-23T19:03:28.000Z","dependencies_parsed_at":"2025-04-24T04:27:38.331Z","dependency_job_id":null,"html_url":"https://github.com/eclipse-openj9/openj9","commit_stats":{"total_commits":11130,"total_committers":269,"mean_commits":41.37546468401487,"dds":0.9187780772686434,"last_synced_commit":"afa97fa7dde2c7625f097d8d9e4fc31bec02af1b"},"previous_names":[],"tags_count":127,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-openj9%2Fopenj9","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-openj9%2Fopenj9/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-openj9%2Fopenj9/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-openj9%2Fopenj9/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eclipse-openj9","download_url":"https://codeload.github.com/eclipse-openj9/openj9/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250838475,"owners_count":21495756,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compiler","eclipse-openj9","garbage-collector","gc","hacktoberfest","interpreter","java","jit","jvm","runtime","virtual-machine"],"created_at":"2024-07-31T18:00:33.753Z","updated_at":"2026-01-29T20:12:16.137Z","avatar_url":"https://github.com/eclipse-openj9.png","language":"Java","readme":"\u003c!--\nCopyright IBM Corp. and others 2017\n\nThis program and the accompanying materials are made available under\nthe terms of the Eclipse Public License 2.0 which accompanies this\ndistribution and is available at https://www.eclipse.org/legal/epl-2.0/\nor the Apache License, Version 2.0 which accompanies this distribution and\nis available at https://www.apache.org/licenses/LICENSE-2.0.\n\nThis Source Code may also be made available under the following\nSecondary Licenses when the conditions for such availability set\nforth in the Eclipse Public License, v. 2.0 are satisfied: GNU\nGeneral Public License, version 2 with the GNU Classpath\nException [1] and GNU General Public License, version 2 with the\nOpenJDK Assembly Exception [2].\n\n[1] https://www.gnu.org/software/classpath/license.html\n[2] https://openjdk.org/legal/assembly-exception.html\n\nSPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0 OR GPL-2.0-only WITH OpenJDK-assembly-exception-1.0\n--\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/eclipse-openj9/openj9/blob/master/artwork/OpenJ9.svg\" alt=\"OpenJ9 logo\" align=\"middle\" width=\"50%\" height=\"50%\" /\u003e\n\u003cp\u003e\n\nWelcome to the Eclipse OpenJ9 repository\n========================================\n[![License](https://img.shields.io/badge/License-EPL%202.0-green.svg)](https://opensource.org/licenses/EPL-2.0)\n[![License](https://img.shields.io/badge/License-APL%202.0-green.svg)](https://opensource.org/licenses/Apache-2.0)\n\n\nWe'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:\n\n- [Eclipse OpenJ9 website](https://www.eclipse.org/openj9) - Learn about this high performance, enterprise-grade Java Virtual Machine (JVM) and why we think you want to get involved in its development.\n- Build instructions for [JDK8](https://github.com/eclipse-openj9/openj9/blob/master/doc/build-instructions/Build_Instructions_V8.md), [JDK11](https://github.com/eclipse-openj9/openj9/blob/master/doc/build-instructions/Build_Instructions_V11.md), and [More](https://github.com/eclipse-openj9/openj9/blob/master/doc/build-instructions) - Here's how you can build an OpenJDK with OpenJ9 yourself.\n\nIf you're looking for ways to help out at the project (thanks!), we have:\n- [Beginner issues](https://github.com/eclipse-openj9/openj9/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)\n- [Help Wanted issues](https://github.com/eclipse-openj9/openj9/issues?utf8=%E2%9C%93\u0026q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)\n\nIf you're here to learn more about the project, read on ...\n\nWhat is Eclipse OpenJ9?\n=======================\n\nEclipse OpenJ9 is an independent implementation of a Java Virtual Machine. \"Independent implementation\"\nmeans it was built using the Java Virtual Machine specification without using any code from any other Java\nVirtual Machine.\n\nThe OpenJ9 JVM combines with the Java Class libraries from OpenJDK to create a complete JDK tuned for\nfootprint, performance, and reliability that is well suited for cloud deployments.\n\nThe original source contribution to OpenJ9 came from the IBM \"J9\" JVM which has been used in production\nby thousands of Java applications for the last two decades.  In September 2017, IBM completed open sourcing\nthe J9 JVM as \"Eclipse OpenJ9\" at the Eclipse Foundation. Significant parts of J9 are also open source\nat the [Eclipse OMR project](https://github.com/eclipse-omr/omr). OpenJ9 has a permissive license (Apache\nLicense 2.0 or Eclipse Public License 2.0 with a secondary compatibility license for the OpenJDK project's\nGPLv2 license) that is designed to allow OpenJDK to be built with the OpenJ9 JVM.  Please see our\n[LICENSE file](https://github.com/eclipse-openj9/openj9/blob/master/LICENSE) for more details.\n\nEclipse OpenJ9 is a source code project that can be built alongside Java class libraries. See the\n[build instructions](https://github.com/eclipse-openj9/openj9/blob/master/doc/build-instructions). Eclipse\nFoundation projects are not permitted to distribute, market or promote JDK binaries unless they have\npassed a Java SE Technology Compatibility Kit licensed from Oracle, to which the OpenJ9 project does\nnot currently have access. See the [Eclipse Adoptium Project Charter](https://projects.eclipse.org/projects/adoptium/charter).\n\nWhat is the goal of the project?\n================================\n\nThe 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.\n\nThe project welcomes collaboration, embraces fresh innovation, and extends an opportunity to influence the development of OpenJ9 for the next generation of Java applications.\n\nThe 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.\n\nHow do I contribute?\n====================\n\nSince 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][coc]\nto promote fairness, openness, and inclusion.\n\nTo get started, read our [Contribution Guide](CONTRIBUTING.md).\n\n[coc]: https://eclipse.org/org/documents/Community_Code_of_Conduct.php\n\nIf you think you want to contribute but you're not ready to sign the Eclipse Contributor Agreement, why not join our weekly updates in the #planning channel? We also have calls after a new release where you can learn 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](https://openj9.slack.com/) for information about upcoming community calls and minutes from previous meetings (Join [here](https://join.slack.com/t/openj9/shared_invite/enQtNDU4MDI4Mjk0MTk2LWVhNTMzMGY1N2JkODQ1OWE0NTNmZjM4ZDcxOTBiMjk3NGFjM2U0ZDNhMmY0MDZlNzU0ZjAyNzQ1ODlmYjg3MjA)).\n\nWhat repos are part of the project?\n===================================\n- https://github.com/eclipse-openj9/openj9 : OpenJ9 main code base\n- https://github.com/eclipse-openj9/openj9-omr : Eclipse OMR clone to stage temporary OMR changes.  (None so far!)\n- https://github.com/eclipse-openj9/openj9-systemtest : OpenJ9-specific system tests\n- https://github.com/eclipse-openj9/openj9-website : OpenJ9 website repo\n- https://github.com/eclipse-openj9/openj9-docs : OpenJ9 documentation repo\n- https://github.com/eclipse-openj9/build-openj9 : OpenJ9 GitHub actions repo\n- https://github.com/eclipse-openj9/openj9-utils : OpenJ9 utility programs / tools repo, a place to develop community around the tools\n\n\nWhere can I learn more?\n=======================\n\n- [Moving to OpenJ9](https://blog.openj9.org/2019/02/26/moving-to-openjdk-with-eclipse-openj9/)\n- [User documentation](https://www.eclipse.org/openj9/docs/)\n- Many more resources are available on the [OpenJ9 blog](https://blog.openj9.org/)\n\nVideos and Presentations\n------------------------\n\n- [JCON 2024: Could your Java workloads be missing out on something?](https://www.youtube.com/watch?v=_UL-bdAkGH0)\n- [Java Virtual Threads: a Case Study](https://www.infoq.com/articles/java-virtual-threads-a-case-study/)\n- [Devnexus 2024: Cache Me If You Can ](https://www.youtube.com/watch?v=SWjpoz_soVc)\n- [Rapid Startup of Your Cloud-Native Java Applications without Compromise](https://www.infoq.com/articles/rapid-startup-of-your-cloud-native-java/)\n- [Devnexus 2023: Journey to Cloud: Leave No Java Workload behind](https://www.youtube.com/watch?v=P4AuOw5KNd0)\n- [Devnexus 2023: Enhancing Java Applications for the Cloud](https://www.youtube.com/watch?v=X9Lma7PB23I)\n- [JCONF 2022: Fast JVM Startup With Checkpoint and Restore](https://www.youtube.com/watch?v=SH7aUaTFNlc)\n- [JVMLS 2019: JIT and AOT in the JVM with Mark Stoodley](https://www.youtube.com/watch?v=gx8DVVFPkcQ)\n- [JVMLS 2018: LWorld: the next steps on the journey to Valhalla with David Simms \u0026 Tobi Ajila](https://www.youtube.com/watch?v=_26KZAegYRM)\n- [JavaOne 2017: John Duimovich and Mike Milinkovich having fun chatting about Eclipse OpenJ9 (and EE4J)](https://www.youtube.com/watch?v=4g9SdVCPlnk)\n- [JavaOne 2017: Holly Cummins interviewing Dan Heidinga and Mark Stoodley on Eclipse OpenJ9 and OMR](https://www.youtube.com/watch?v=c1LVXqD3cII)\n- [JavaOne 2017: Open sourcing the IBM J9 Java Virtual Machine](https://www.slideshare.net/MarkStoodley/javaone-2017-mark-stoodley-open-sourcing-ibm-j9-jvm)\n- [JavaOne 2017: Eclipse OpenJ9 Under the hood of the next open source JVM](https://www.slideshare.net/DanHeidinga/javaone-2017-eclipse-openj9-under-the-hood-of-the-jvm)\n- [JavaOne 2017: Ask the OpenJ9 Architects](https://www.youtube.com/watch?v=qb5ennM_pgc)\n- [Eclipse OpenJ9 verbose JIT logs](https://mstoodle.github.io/EclipseOpenJ9JitVerboseLogs/)\n- [JavaOne 2017: How to build a debuggable runtime](https://www.slideshare.net/TobiAjila1/how-to-build-a-debuggle-runtime)\n- [Reducing Garbage Collection pause times with Concurrent Scavenge and the Guarded Storage Facility](https://developer.ibm.com/javasdk/2017/09/18/reducing-garbage-collection-pause-times-concurrent-scavenge-guarded-storage-facility/)\n- [How Concurrent Scavenge using the Guarded Storage Facility Works](https://developer.ibm.com/javasdk/2017/09/25/concurrent-scavenge-using-guarded-storage-facility-works/)\n- [Are you still paying for unused memory when your Java app is idle?](https://developer.ibm.com/javasdk/2017/09/25/still-paying-unused-memory-java-app-idle/)\n- [Under the hood of the Testarossa JIT Compiler](https://www.slideshare.net/MarkStoodley/under-the-hood-of-the-testarossa-jit-compiler)\n- [Class sharing In Eclipse OpenJ9](https://developer.ibm.com/tutorials/j-class-sharing-openj9/)\n\nCopyright IBM Corp. and others 2017\n","funding_links":[],"categories":["Projects","Java","HarmonyOS","JVM实现"],"sub_categories":["JVM and JDK","Windows Manager"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-openj9%2Fopenj9","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feclipse-openj9%2Fopenj9","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-openj9%2Fopenj9/lists"}