Manipulating the Class File with AsmTools

A Java class file is represented with a hardware & OS independent binary format to be loaded & interpreted at runtime. Except the magic number (the first 4 bytes such as CAFEBABE) and the version number (the 8th byte) which are visible or can be manually edited in a hexadecimal way, modifying the majority of…

Default Java Maximum Heap Size is changed for Java 8

Background The Maximum Java Heap Size (Xmx) is the maximum amount of memory that Java application can uses. A lower Xmx value will cause a decrease in performance due to JVM has to force frequent garbage collections in order to free up space, also if the Xmx value is lower than the amount of live…

OpenJ9 VM Internship: Inline Types

My name is Adithya Venkatarao and I’m a 4th year Computer Science student from the University of Waterloo at the time of writing. After working in a variety of back-end and full-stack positions throughout my previous internships, I really wanted to further diversify my skillset by taking a dive down the tech-stack to work with…

Categoriesvm

Relationship verification… Let’s get lazy!

It’s complicated… Relationship verification is very important, but can we be a little lazy about it? Java bytecode verification entails several processes, one of which is class relationship verification. Java Virtual Machine (JVM) startup includes any JVM or application setup preceding the actual execution of the program, and one of these steps is verification. Consequently,…

Running Payara Micro on OpenJ9

In the cloud environment, you need to bring up your microservices applications quickly and frequently in respond to user demands. Therefore, having a JVM that starts up faster is important. Eclipse OpenJ9 is a JVM that has a fast start-up performance and a low memory footprint. This post outlines how to improve the start-up performance…

Categoriesvm