DZone's 200th Refcard Released: Java Performance Optimization
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:
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:
Here are 10 tools useful for Java application performance troubleshooting, including jconsole, VisualVM, HeapAnalyzer, and more.
- 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.
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:
- 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.
- 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: