Who is this for?

This is an introductory topic for software developers who want to learn how to run their Java-based applications on Arm-based Google Axion processors in Google Cloud. Most Java applications will run on Axion with no changes needed, but there are optimizations that can help improve application performance on Axion.

What will you learn?

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

  • Create an Arm-based VM instance with Google Axion CPU.
  • Deploy a Java application on Axion.
  • Understand Arm performance for different JDK versions.
  • Test common performance optimization flags.

Prerequisites

Before starting, you will need the following:

  • A Google Cloud account with access to Axion based instances (C4A)

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 Arm-based Google Axion VM with gcloud, install Java on Ubuntu 24.04, and deploy an example application called Spring Petclinic. First, you’ll verify the runtime, drive load with JMeter and the included JMX plan, and experiment with JVM optimization flags. You can repeat the workload on an earlier-generation Arm-based instance to compare Java behavior on Axion’s Armv9 Neoverse V2 CPU.

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
?
How do I connect to the instance to start installing Java?
Use the Google Cloud console SSH button for your VM. It opens a browser-based shell connected to the instance.
What output should I expect after installing Java?
Running java -version after installing Java should print an OpenJDK 21.x release similar to: openjdk version "21.0.3" 2024-04-16. If the command isn’t found, recheck that default-jre installed successfully.
Why should I open a new SSH terminal before running JMeter?
Running JMeter in a separate terminal avoids interrupting the Spring Petclinic process. Keep the terminal that started the application open so that the service stays available during the test.
Which test plan do I use with JMeter for Spring Petclinic?
Use the .jmx file provided in the spring-petclinic repository. The file defines a workload that exercises the application endpoints for the performance tests.
How should I compare configurations or instance generations fairly?
Keep the workload, application build, and test plan identical and change only one variable at a time, such as a JVM flag or instance type. Run the JMeter plan for each case and compare the resulting metrics.
Next