Home » Tag Archives: GC

Tag Archives: GC

GC Explained: Heap

Generational Garbage Collectors JVM heap is divided into two different Generations. One is called Young and the second one is the Old (sometimes referred to as Tenured). The Young Generation is further separated into two main logical sections: Eden and Survivor spaces. There are also Virtual spaces for both Young and the Old Generations which are used by Garbage Collectors ...

Read More »

Java Garbage Collectors: When Will G1GC Force CMS Out?

In JEPs proposed to target JDK 9 (2017/4/4), Mark Reinhold has written that JEP 291 (“Deprecate the Concurrent Mark Sweep (CMS) Garbage Collector”) is one of two JEPs that “have been placed into the ‘Proposed to Target’ state by their owners after discussion and review”. If things go well for JEP 291, it will be targeted for JDK 9. Reinhold ...

Read More »

How Java’s Built-In Garbage Collection Will Make Your Life Better (Most of the Time)

Discover faster, more efficient performance monitoring with an enterprise APM product learning from your apps. Take the AppDynamics APM Guided Tour! “No provision need be made for the user to program the return of registers to the free-storage list.” This line (along with the dozen or so that followed it) is buried in the middle of John McCarthy’s landmark paper, ...

Read More »

Generational disparity in garbage collection

For the last year, I have been helping the startup Instana to create a Java agent that traces executions within a Java application. This execution data is collected and jointed to generate traces of user requests as well as the resulting communication between services within the system owner’s hemisphere. This way, unstructured communication can be visualized what significantly simplifies the ...

Read More »

APM for the Non-Java Guru: What leak?

Solve App Problems 10x Faster with AppDynamics – Monitor production apps at code-level depth with minimal overhead. Start a FREE Trial! Memory, Memory, Memory… Memory is a critical part of Java, in particular, the management of memory. As a developer, memory management is not something you want to be doing on a regular basis, nor is it something you want ...

Read More »

Running -XX:CompileCommand on Windows

The HotSpot JVM provides several command-line arguments related to Just In Time (JIT) compilation. In this post, I look at the steps needed to start applying the command-line flag -XX:CompileCommand to see the just-in-time compilation being performed on individual methods. JIT Overview Nikita Salnikov-Tarnovski’s blog post Do you get Just-in-time compilation? provides a nice overview of the JIT compiler and ...

Read More »

Elastic infrastructure in practice

A couple of weeks ago I got a rare opportunity to get my hands dirty in the infrastructure field. Being an interesting change to my day-to-day hours deep under the hood of the JVM internals, I thought to share the motivation and results with you. Hopefully it serves as an inspiration to similar problem categories out there. Background I will ...

Read More »

HotSpot Incremental Java Garbage Collector

In my recent blog post Determining the Active HotSpot Garbage Collector, I described different approaches that can be used to determine the garbage collector that is being used by HotSpot JVM (Java process) when it is not obvious from the command-line arguments (flags) passed to the Java launcher. For significant Java applications, I prefer to explicitly specify the appropriate garbage ...

Read More »

Determining the Active HotSpot Garbage Collector

The StackOverflow questions find which type of garbage collector is running, Default Garbage collector for a jvm, How can I see what garbage collector is running by looking at gc logs?, and How to know the current GC strategy of the HotSpot jvm?, and the blog post How to programmatically obtain GC information demonstrate the desire at times to know ...

Read More »