Home » Tag Archives: JVM (page 8)

Tag Archives: JVM

5 Coding Hacks to Reduce GC Overhead

java-logo

In this post we’ll look at five ways in which we can use efficient coding to help our garbage collector spend less CPU time allocating and freeing memory, and reduce GC overhead. Long GCs can often lead to our code being stopped while memory is reclaimed (AKA “stop the world”). Some background The GC is built to handle large amounts ...

Read More »

Java Garbage Collection Distilled

java-logo

Serial, Parallel, Concurrent, CMS, G1, Young Gen, New Gen, Old Gen, Perm Gen, Eden, Tenured, Survivor Spaces, Safepoints, and the hundreds of JVM startup flags. Does this all baffle you when trying to tune the garbage collector while trying to get the required throughput and latency from your Java application? If it does then do not worry, you are not ...

Read More »

Java Just-In-Time compilation: more than just a buzzword

java-logo

A recent Java production performance problem forced me to revisit and truly appreciate the Java VM Just-In-Time (JIT) compiler. Most Java developers and support individuals have heard of this JVM run time performance optimization but how many truly understand and appreciate its benefits? This article will share with you a troubleshooting exercise I was involved with following the addition of ...

Read More »

Garbage Collection in Java (4)

java-logo

G1: Garbage First The G1 collector is the latest collector to be implemented in the hotspot JVM. Its been a supported collector ever since Java 7 Update 4. Its also been publicly stated by the Oracle GC Team that their hope for low pause GC is a fully realised G1. This post follows on from my previous garbage collection blog ...

Read More »

Micro jitter, busy waiting and binding CPUs

java-logo

Performance profiling a new machine When I work on a new machine, I like to get an understanding of it’s limitations.  In this post I am looking at the jitter on the machine and the impact of busy waiting for a new PC I built this weekend. The specs for the machine are interesting but not the purpose of the ...

Read More »

Printing Generated Assembly Code From The Hotspot JIT Compiler

java-logo

Sometimes when profiling a Java application it is necessary to understand the assembly code generated by the Hotspot JIT compiler. This can be useful in determining what optimisation decisions have been made and how our code changes can affect the generated assembly code. It is also useful at times knowing what instructions are emitted when debugging a concurrent algorithm to ...

Read More »

Garbage Collection in Java (3)

java-logo

This follows on from my previous two garbage collection blog posts: Overview of GC in Hotspot. Parallel Garbage Collectors. Concurrent Mark Sweep The parallel garbage collectors in Hotspot are designed to minimise the amount of time that the application spends undertaking garbage collection, which is termed throughput. This isn’t an appropriate tradeoff for all applications – some require individual pauses ...

Read More »

Garbage Collection in Java (2)

java-logo

Parallel Scavenge Today we cover how Parallel GC works. Specifically this is the combination of running a Parallel Scavenge collector over Eden and the Parallel Mark and Sweep collector over the Tenured generation. You can get this option by passing in -XX:+UseParallelOldGC though its the default on certain machine types. You may want to read my first blog post on ...

Read More »

Garbage Collection in Java (1)

java-logo

This is the first in a series of posts about Garbage Collection (GC). I hope to be able to cover a bit of theory and all the major collectors in the hotspot virtual machine over the course of the series. This post just explains what garbage collection is and elements common to different collectors. Why should I care? Your Java ...

Read More »
Do you want to know how to develop your skillset and become a ...

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!
Get ready to Rock!
To download the books, please verify your email address by following the instructions found on the email we just sent you.

THANK YOU!

Close