<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Arm on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/category/arm/</link><description>Recent content in Arm on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 14 Jul 2026 15:17:31 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/category/arm/index.xml" rel="self" type="application/rss+xml"/><item><title>Why We Moved Our Timefold Java Worker Pods from AMD to ARM64</title><link>https://foojayio.github.io/website/today/why-we-moved-our-timefold-java-worker-pods-from-amd-to-arm64/</link><pubDate>Wed, 08 Jul 2026 15:25:58 +0000</pubDate><guid>https://foojayio.github.io/website/today/why-we-moved-our-timefold-java-worker-pods-from-amd-to-arm64/</guid><description>&lt;p&gt;When we investigated unexpected performance variance in our Timefold Solver worker pods on our platform, we traced it to hyperthreading on AMD (x86-64) cloud instances. Switching to ARM (ARM64), where each vCPU maps to a physical core, eliminated the problem and roughly doubled effective throughput per dollar for concurrent solver workloads.&lt;/p&gt;
&lt;p&gt;Originally written by Timefold engineers Lars Beckmann, Jenne De Bleser and Lukáš Petrovický&lt;/p&gt;
&lt;p&gt;Adapted for foojay by Tom Cools&lt;/p&gt;</description></item><item><title>AWS Nitro and CPU Graviton Meets Unikernels</title><link>https://foojayio.github.io/website/today/aws-nitro-and-cpu-graviton-meets-unikernels/</link><pubDate>Fri, 10 Apr 2026 16:26:25 +0000</pubDate><guid>https://foojayio.github.io/website/today/aws-nitro-and-cpu-graviton-meets-unikernels/</guid><description>&lt;h2 id="h2-0-aws-nitro-and-cpu-graviton-meets-unikernels-java-and-quarkus-on-arm64-aws-graviton-with-nanos-unikernel"&gt;AWS Nitro and CPU Graviton Meets Unikernels: Java and Quarkus on ARM64 AWS Graviton with Nanos Unikernel&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://github.com/user-attachments/assets/2c957ea8-2c6b-4caa-86f8-5adeb9e8bedc" alt="image" loading="lazy"&gt;
&lt;/p&gt;
&lt;h2 id="h2-1-java-and-jakarta-ee-truly-meet-unikernels"&gt;Java and Jakarta EE Truly Meet Unikernels&lt;/h2&gt;
&lt;p&gt;The key message of this article is simple and strong:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;any Java or Jakarta EE application is already ready&lt;/strong&gt; to benefit from the advantages of unikernels.&lt;/p&gt;
&lt;p&gt;Java and Jakarta EE, including modern frameworks such as Quarkus, can immediately take advantage of the unikernel model &lt;strong&gt;without waiting for new languages, new runtimes, or radical rewrites&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Research: Measuring Energy Consumption in Programming Languages for AI Applications</title><link>https://foojayio.github.io/website/today/research-measuring-energy-consumption-in-programming-languages-for-ai-applications/</link><pubDate>Mon, 15 Sep 2025 07:03:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/research-measuring-energy-consumption-in-programming-languages-for-ai-applications/</guid><description>&lt;p&gt;&lt;strong&gt;Decades ago, I contributed to a very interesting project called &lt;a href="https://sunspotdev.org/#" title="SunSPOT " target="_blank" rel="noopener noreferrer"&gt;SunSPOT&lt;/a&gt;
at SUN Microsystems. It was a small device with wireless connectivity, built-in sensors, running on Java (compatible with runtime 1.6), and powered by battery. It enabled the design of small applications and the connection of additional hardware, or simply the utilization of available sensors. Later, together with Markus Hirt, we created the &lt;a href="https://github.com/Robo4J/robo4j" title="Robo4j framework" target="_blank" rel="noopener noreferrer"&gt;Robo4j framework&lt;/a&gt;
. A small and lightweight Java framework that enables rapid assembly of robots or other IoT systems (JDK 21+). In Robo4j, we primarily used the&lt;a href="https://www.pi4j.com/blog/" title=" Pi4j project" target="_blank" rel="noopener noreferrer"&gt;Pi4j project&lt;/a&gt;
 for handling I/O operations on the Raspberry Pi platform with drivers created for specific hardware.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Optimizing the Garbage Collector when Migrating Cloud Workloads</title><link>https://foojayio.github.io/website/today/optimizing-the-garbage-collector-when-migrating-cloud-workloads/</link><pubDate>Wed, 16 Apr 2025 10:27:49 +0000</pubDate><guid>https://foojayio.github.io/website/today/optimizing-the-garbage-collector-when-migrating-cloud-workloads/</guid><description>&lt;p&gt;&lt;strong&gt;You might associate Arm primarily with smartphones and the Java-based Android runtime. However, OpenJDK has supported AArch64 on Linux since 2014&amp;mdash; before Arm-based cloud instances were widely available.&lt;/strong&gt; &lt;strong&gt;Fast forward a decade and major cloud providers have their own Arm-based instances like AWS Graviton, Microsoft Azure Cobalt, and others, prompting many organizations to migrate Java workloads from x86 to multi-architecture environments.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A multi-architecture deployment shift allows an organization to be adaptable and choose the architecture with the ideal price to performance ratio. Large independent software vendors, such as Uber, are &lt;a href="https://www.uber.com/en-GB/blog/adopting-arm-at-scale-bootstrapping-infrastructure/" target="_blank" rel="noopener noreferrer"&gt;already making this transition&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Running JavaFX applications on ARM with Azul Zulu</title><link>https://foojayio.github.io/website/today/running-javafx-applications-on-arm-with-azul-zulu/</link><pubDate>Thu, 22 Aug 2024 08:51:57 +0000</pubDate><guid>https://foojayio.github.io/website/today/running-javafx-applications-on-arm-with-azul-zulu/</guid><description>&lt;p&gt;&lt;strong&gt;Since the April release of Azul Zulu Builds of OpenJDK, packages with JavaFX support for ARM 64-bit systems have been available.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As ARM processors are the &amp;ldquo;core&amp;rdquo; of most embedded systems, these runtimes provide the additional benefit of bringing user interface development into the Java space. Having your full code base, from server to end device, based on the same Java code and dependencies, brings many improvements in total cost, development approach, and test and deployment strategies.&lt;/p&gt;</description></item></channel></rss>