Skip to main content

kcpeppe's Blog

Is setting -Xmx==-Xms still considered harmful?

Posted by kcpeppe on December 19, 2011 at 5:40 AM PST

One of the old bits of tuning advice given when Java memory management was not as tall as it it today was to set max heap to min heap. After all, we don't really want the JVM messing around with memory when it should really be getting on with things. Fast forward a few years and the adaptive memory management picture has matured considerably.

Virtualization is still a performance drag

Posted by kcpeppe on December 12, 2011 at 12:19 PM PST

Just wrapped up my last performance tuning course for this year and for the second time running, some members of my Parisian group had the opportunity to run the exercises on virtualized hardware.

Defect Driven Design Makes a Comeback

Posted by kcpeppe on November 29, 2011 at 4:40 AM PST

 In 1996, a group that I was working with devised a development process which we called Defect Driven Design, otherwise known as D3.

A little tool to help with Java regular expressions

Posted by kcpeppe on October 27, 2011 at 9:27 AM PDT

 Over the last few weeks I've been working Java regular expressions into a couple of applications. After a couple of rounds with trying to sort out regular expression syntax I hacked together this handy little GUI. If anyone makes any improvements do let me know and I'll be happy to make use of them.

Solution to Performance Puzzler with a Stacktrace

Posted by kcpeppe on October 10, 2011 at 7:21 AM PDT

It’s after JavaONE and as promised, here is the answer to the performance puzzler with a stack trace. But first a word about JavaONE. The physical layout was the same as last year and as a result, JavaONE suffered from some of the same problems as last year.

The Mysterious Phantom Reference

Posted by kcpeppe on September 29, 2011 at 1:43 AM PDT

I talk about java.lang.ref.* in my performance tuning course because these things (along with anything that implements finalize) are more expensive to create than normal objects and require at least two rounds of GC before you're completely rid of them.