Open Java Development Kit (OpenJDK) provides the runtime for Java programs and is available for Armv7 and Armv8. OpenJDK has support from commercial vendors, making it a mature and robust language for Arm developers.​

Learn more

Java programs require a Java Virtual Machine (JVM) platform to run. Over time, alternatives to the Java programming language have been developed that can run on a single JVM, these include Clojure, Scala, Groovy, and Kotlin. All these languages are available for Arm.


Commercial

OpenJDK implementations are available from popular vendors including Red Hat, Ubuntu, SUSE, Azul, and others. Arm is a big contributor to OpenJDK, which ensures excellent performance on AArch64 platforms.

Learn more

Library ecosystem

The Java library ecosystem is very mature. With a continued investment from Arm and the community, developers can include one or more of the tens-of-thousands of open-source libraries and be confident that they will work on AArch64. Arm continues to work with the community to ensure libraries work best on AArch64.

Learn more

Mature

Since the introduction of the Java Virtual Machine (JVM) in 1994, applications written in Java have been deployed everywhere that Unix and Windows are present. Tooling that provides useful metrics from JVM is supported on Arm and other platforms and is available from multiple vendors.

Learn more

Resources

Community forums

Not answered TLB stage2 translation 0 votes 39 views 0 replies Started 23 hours ago by Zaoya Answer this
Answered Which ARM micro controller should I choose? 0 votes 729 views 4 replies Latest 6 days ago by raj_99 Answer this
Not answered Cortex-M0+ core Hang up in FFFF FFFEh address when executing DSB instruction.
  • Real Time Operating Systems (RTOS)
  • 3 (HardFault)
  • Cortex-M0+
0 votes 64 views 0 replies Started 11 days ago by Ponsuke606 Answer this
Suggested answer How to get/download core_cr5.h
  • Cortex-R5
0 votes 197 views 1 replies Latest 24 days ago by hulk789 Answer this
Not answered After first execution control goes to task 2 but i want him to go to task1 what i suppose to do here?
  • Real Time Operating Systems (RTOS)
0 votes 123 views 0 replies Started 26 days ago by omkardixi Answer this
Not answered How to change baud rate using UART during run time?
  • Real Time Operating Systems (RTOS)
  • Keil MDK Professional Edition
0 votes 155 views 0 replies Started 28 days ago by omkardixi Answer this
Not answered TLB stage2 translation Started 23 hours ago by Zaoya 0 replies 39 views
Answered Which ARM micro controller should I choose? Latest 6 days ago by raj_99 4 replies 729 views
Not answered Cortex-M0+ core Hang up in FFFF FFFEh address when executing DSB instruction. Started 11 days ago by Ponsuke606 0 replies 64 views
Suggested answer How to get/download core_cr5.h Latest 24 days ago by hulk789 1 replies 197 views
Not answered After first execution control goes to task 2 but i want him to go to task1 what i suppose to do here? Started 26 days ago by omkardixi 0 replies 123 views
Not answered How to change baud rate using UART during run time? Started 28 days ago by omkardixi 0 replies 155 views