Home » Tag Archives: GC (page 2)

Tag Archives: GC

What is the fastest Garbage Collector in Java 8?

OpenJDK 8 has several Garbage Collector algorithms, such as Parallel GC, CMS and G1. Which one is the fastest? What will happen if the default GC changes from Parallel GC in Java 8 to G1 in Java 9 (as currently proposed)? Let’s benchmark it. Benchmark methodology Run the same code 6 times with a different VM argument (-XX:+UseSerialGC, -XX:+UseParallelGC, -XX:+UseConcMarkSweepGC, ...

Read More »

GC tuning in practice

Tuning Garbage Collection is no different from any other performance-tuning activities. Instead of giving in to temptation for tweaking random parts of the application, you need to make sure you understand the current situation and the desired outcome. In general it is as easy as following the following process: State your performance goals Run tests Measure Compare to goals Make ...

Read More »

What is Garbage Collection?

The following is an example from our Garbage Collection Handbook which will be published in the forthcoming weeks. In the meanwhile, take your time to get yourself familiar with the basics of the Garbage Collection – this is going to be the very first chapter of the book. At the first sight, garbage collection should be dealing with what the name suggests – finding ...

Read More »

Logging stop-the-world pauses in JVM

Different events can cause the JVM to pause all the application threads. Such pauses are called Stop-The-World (STW) pauses. The most common cause for an STW pause to be triggered is garbage collection (example in github) , but different JIT actions (example), biased lock revocation (example), certain JVMTI operations , and many more also require the application to be stopped. ...

Read More »

ChronicleMap – Java Architecture with Off Heap Memory

My last post was written a couple of weeks ago and after some valid feedback I’d like to clarify a couple of points as a preface to this article. The main takeaway from ‘Creating millions of objects with Zero Garbage‘ should be that with Chronicle you are not ‘limited’ to using jvm allocated on-heap memory when writing a Java program. Maybe ...

Read More »

Creating Millions of Objects with Zero Garbage

As noted in First rule of performance optimisation, garbage is the enemy of fast code. Not only can it destroy any sort of deterministic performance by employing the services of the garbage collector but we start filling our CPU caches with garbage that will cause expensive cache misses for our program. So, can we use Java without creating garbage? Is it possible, ...

Read More »

Turning on GC logging at runtime

There is always the next JVM behaving badly. And you know by heart that if you just could have had those few startup options exposing some more information about what is going on, you might have stood a chance of actually fixing the goddamn thing. But nope, exactly the flag you need (be it -XX:+HeapDumpOnOutOfMemoryError or -XX:+PrintGCDetails) is always missing. ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Spring Interview QnA
  • Multithreading & Concurrency QnA
  • JPA Minibook
  • JVM Troubleshooting Guide
  • Advanced Java
  • Java Interview QnA
  • Java Design Patterns