Performance Zone is brought to you in partnership with:

Alec is a Content Curator at DZone and lives in Raleigh, North Carolina. He is interested in Java and Android programming, and databases of all types. When he's not writing for the NoSQL and IoT Zones, you might find him playing bass guitar, writing short stories where nothing happens, or making stuff in Java. Alec is a DZone Zone Leader and has posted 572 posts at DZone. You can read more from them at their website. View Full User Profile

DZone's 200th Refcard Released: Java Performance Optimization

07.21.2014
| 11280 views |
  • submit to reddit

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!

DOWNLOAD NOW