Who is this for?

This is an introductory topic about Java deployment and benchmarking on Microsoft Azure Cobalt 100 Arm-based virtual machines (VMs). It is designed for developers migrating Java applications from x86_64 to Arm architecture.

What will you learn?

Upon completion of this Learning Path, you will be able to:

  • Provision an Azure Arm-based VM using Azure console, with Ubuntu Pro 24.04 LTS as the base image.
  • Deploy Java on the Azure Arm64 VM.
  • Perform Java baseline testing and benchmarking on the Arm64 VM.

Prerequisites

Before starting, you will need the following:

Summary

AI-assisted

This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
You’ll provision an Arm64 Azure VM powered by Cobalt 100 with Ubuntu Pro 24.04 LTS, install OpenJDK, and verify the Java runtime and compiler. First, you’ll run a Java baseline to separate Java Virtual Machine (JVM) execution from framework overhead. Then, you’ll use Java Microbenchmark Harness (JMH) to measure throughput or timing while accounting for warmup and just-in-time (JIT) effects. Finally, you’ll have benchmark results that provide a baseline for further experiments.

Frequently asked questions

AI-assisted

These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
What Azure VM instance type should I use?
Use the D4ps_v6 instance type in the Dpsv6 (D-series v6) family.
Which OS image and architecture should I select when creating the VM?
Choose Ubuntu Pro 24.04 LTS on Arm64.
Does installing default-jdk give me everything I need to run and build Java code?
default-jdk installs the Java runtime and compiler. For the JMH benchmark, install Maven separately before creating and running the benchmark project.
How do I verify that Java is installed correctly on Arm64 before running tests?
Confirm that the VM reports an Arm64 architecture and that the installed Java versions are present. Ensure both the runtime and compiler are available before proceeding.
What should I look for in JMH output?
In JMH, focus on throughput or timing metrics that stabilize after warmup to establish a reliable baseline.
Next