Home » Tag Archives: JVM (page 10)

Tag Archives: JVM

Java Mission Control 5.2 is Finally Here! Welcome 7u40!

java-logo

It has been a while since we last heard of this fancy little thing called Mission Control. It came all the way from JRockit and was renamed to Java Mission Control. This is one of the parts which literally survived the convergence strategy between HotSpot and JRockit. With today’s Java SE 7 Update 40 you can actually use it again. ...

Read More »

Dealing With Slow Resource Leaks

java-monitor-logo

Finding resource leaks using Java-monitor Finding slow resource leaks is key to keeping your application servers up and running for very long times. Here I explain how I use Java-monitor to spot slow resource leaks and how to verify that they are actual leaks and not just extra pre-allocation into some HTTP connector or database pool. If you follow these ...

Read More »

Understanding the OutOfMemoryError

java-logo

Whenever you find yourself staring a stacktrace with OutOfMemoryError in it, it should all be crystal clear. The program has got no more elbow room and is dying just because of lack of it. From the 10,000 feet or executive chair this might already contain too much information. But those of you who have to build or maintain the applications ...

Read More »

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 »

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:

  • Advanced Java Guide
  • Java Design Patterns
  • JMeter Tutorial
  • Java 8 Features Tutorial
  • JUnit Tutorial
  • JSF Programming Cookbook
  • Java Concurrency Essentials