Over a million developers have joined DZone.

DZone's 200th Refcard Released: Java Performance Optimization

DZone's Guide to

DZone's 200th Refcard Released: Java Performance Optimization

· Performance Zone ·
Free Resource

SignalFx is the only real-time cloud monitoring platform for infrastructure, microservices, and applications. The platform collects metrics and traces across every component in your cloud environment, replacing traditional point tools with a single integrated solution that works across the stack.

Today, DZone released Refcard #200: Java Performance Optimization. To mark the significance of this milestone, this Refcard boasts a complete redesign - all the information you expect from a Refcard in a shiny new package! Take a look:

Refcard #200: Java Performance Optimization

For those of you interested in learning more about Java Performance or sharpening your skills, we also decided to dig into the DZone archives and find some of the most popular posts we've had on the topic over the past two years:

1. Top 10 Java Performance Troubleshooting Tools 

  • Here are 10 tools useful for Java application performance troubleshooting, including jconsole, VisualVM, HeapAnalyzer, and more.

2. Java Performance Tuning, Profiling, and Memory Management 

  • Java application performance is an abstract word until you face its real implications. It may vary depending on your interpretation of the word 'performance'. This article is meant to give the developer a perspective of the various aspects of the JVM internals, the controls and switches that can be altered to optimal effects that suit your application.

3. JVM Performance Magic Tricks 

  • While your code is being executed, the JVM gathers information about its behavior. Once enough statistics are gathered about a hot method (10K invocations is the default threshold), the compiler kicks in, and converts that method’s platform-independent “slow” bytecode into an optimized, lean, mean compiled version of itself . . . here are some of the more interesting optimizations performed by it:

4. How to Analyze Java Thread Dumps

  • When there is an obstacle, or when a Java based Web application is running much slower than expected, we need to use thread dumps . . . here I will explain what threads are in Java, their types, how they are created, how to manage them, how you can dump threads from a running application, and finally how you can analyze them and determine the bottleneck or blocking threads.

5. Java Memory Profiling Sampled 

  • As a typical Java developer I never monitored the memory usage of my application apart from following typical best practices like closing the connections, streams etc.. Recently we were struck with few issues in our JBoss servers that I had to dig in to the memory management.

And don't forget to download the Java Performance Refcard itself, in all its redesigned glory:

Java Performance

By Pierre-Hugues Charbonneau

Getting Java apps to run is one thing. But optimizing them is another. Performance is a tricky beast in any object-oriented environment, but the complexity of the JVM adds a whole new level of performance-tweaking trickiness -- and opportunity.

This Refcard covers:

  • JVM internals
  • Class loading
  • Garbage collection
  • Concurrency, and more!


SignalFx is built on a massively scalable streaming architecture that applies advanced predictive analytics for real-time problem detection. With its NoSample™ distributed tracing capabilities, SignalFx reliably monitors all transactions across microservices, accurately identifying all anomalies. And through data-science-powered directed troubleshooting SignalFx guides the operator to find the root cause of issues in seconds.


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}