Save Money with JITServer on the Cloud – an AWS Experiment

With contributions from Marius Pirvu. What is JITServer Technology? JITServer Technology is an Eclipse OpenJ9 JVM technology that decouples the JIT compiler from the JVM and lets the JIT compiler run remotely in its own process. This technique keeps the advantages of JIT compilations while eliminating their negative effects such as CPU and memory spikes,…

Balanced GC performance improvements: Eden + heap sizing improvements

Open J9’s Balanced GC policy is a region based, generational collector, which aims to provide a bound on worst case pause times, by eliminating the need for frequent global garbage collections. A more detailed description of how Balanced GC policy works, along with some of its advantages over the Gencon GC policy, can be found…

Innovations for Java running in containers

This blog is co-authored by Hang Shao, Marius Pirvu, Tobi Ajila and Vijay Sundaresan. 1.     Introduction Over a decade ago, the common form of deployment was large monolithic applications that handled all the business logic. In this model applications typically had long deployment windows and they were typically deployed on large on-prem server farms. Since…

Setting up an OpenJ9 Development Environment with Visual Studio Code + Docker + CMake

Setting up a proficient development environment on a large project such as OpenJ9 with so many pieces in play can be a daunting task. Often times, setting up such a development environment and being able to navigate the codebase with familiar tools and with the full power of an IDE is worth the effort in terms of productivity. This blog post will guide you through setting up a development environment with a one-click build trigger, full Intellisense support, and full debugging support using Visual Studio Code, Docker, DevContainers extensions, and CMake.