Java Performance Tuning

Java(TM) - see bottom of page

|home |services |training |newsletter |tuning tips |tool reports |articles |resources |about us |site map |contact us |
Tools: | GC log analysers| Multi-tenancy tools| Books| SizeOf| Thread analysers|

Our valued sponsors who help make this site possible
Discover the fastest Java Multi-Model DBMS with an Apache 2 License 

Java Performance Tuning

JProfiler
Get rid of your performance problems and memory leaks!


Java Performance Training Courses
COURSES AVAILABLE NOW. We can provide training courses to handle all your Java performance needs

Java Performance Tuning, 2nd ed
The classic and most comprehensive book on tuning Java

Java Performance Tuning Newsletter
Your source of Java performance news. Subscribe now!
Enter email:


OrientDB
Discover the fastest Java Multi-Model DBMS with an Apache 2 License


JProfiler
Get rid of your performance problems and memory leaks!


Latest news

NEW: AUGUST NEWSLETTER

JULY NEWSLETTER

  • We list all the latest Java performance related news and articles
    • "Seriously horizontally scaled applications monitor the performance of each virtual server and actually shutdown services when they detect sufficient contention for resources from competing virtual containers using the shared hardware"
  • All the latest Java performance tips extracted in concise form
    • "Inner classes need to have access to their outer class - if the inner class instance continues to be live when the outer class instance is completed, the outer class instance will be kept alive leading to a possible memory leak. One possible solution is to hold the outer class reference in a weak reference. "

JUNE NEWSLETTER

MAY NEWSLETTER

APRIL NEWSLETTER

MARCH NEWSLETTER

  • We list all the latest Java performance related news and articles
    • "If you really want to have memory-pressure sensitive cache, encapsulate your preferred cache and add separate functionality which detects memory pressure with SoftReference instance just for that"
  • All the latest Java performance tips extracted in concise form
    • "Typical tuning options at the CPU level include: reduce the number of instructions needed to execute the algorithm; change the data structure to reduce memory stalls (waiting for memory); change the program logic to reduce branch stalls (eg from mispredicted branches); change the order of operations so that they execute in parallel across the cores more easily (if in a loop each subsequent operation depends on the result of the last one, this is difficult); breakdown long latency operations into multiple simpler ones"

FEBRUARY NEWSLETTER

  • We list all the latest Java performance related news and articles
    • "Getting a heap dump is straightforward, you can use any of jmap; the JMX com.sun.management.HotSpotDiagnostic.dumpHeap() method (from any JMX aware tool, such as jconsole); the -XX:+HeapDumpOnOutOfMemoryError flag (which does what it says); and jcmd [PID] GC.heap_dump [PATH_TO_DUMPFILE]"
  • All the latest Java performance tips extracted in concise form
    • "jvmstat includes several hundred indicators covering nearly all JVM areas: class loading, garbage collection, multithreading, just-in-time compilation, etc. jvmstat counters are free - Java HotSpot VM exports them anyway, whether you read them or not, in the file system as a memory-mapped file in a temporary directory, by default /tmp/hsperfdata_{user}/{pid}, where {pid} is the JVM process ID"

JANUARY NEWSLETTER

DECEMBER NEWSLETTER

NOVEMBER NEWSLETTER

OCTOBER NEWSLETTER

SEPTEMBER NEWSLETTER

AUGUST NEWSLETTER

JULY NEWSLETTER

  • We list all the latest Java performance related news and articles
    • "both 'don't share' and 'don't mutate' techniques tend to increase copies of data, which incurs runtime and garbage collection costs that both impact latency. You gain lower maintenance costs, but it's very hard to maintain high throughput together with low latency with those two techniques. If you need low latency, you need 'coordinate access' and, more specifically, coordinate access using lock-free techniques."
  • All the latest Java performance tips extracted in concise form
    • "SSD throughput is typically 2 orders of magnitude higher than HDD, but you can gain up to a further 4x speedup by making the application SSD friendly - eg using multiple concurrrent I/O threads (for small reads; large reads should keep the concurrent I/O thread count low). This differs markedly from HDDs where multiple concurrrent I/O threads tends to actually decrease throughput."

JUNE NEWSLETTER

  • We list all the latest Java performance related news and articles
    • "Target having two JVM instances, (three if you need more scale or redundancy), grow those instances up to the NUMA-node size but preferentially try to stay below either 4GB or 32GB max heaps; above NUMA-node RAM you need to test whether a bigger heap single JVM or per-NUMA-node memory restricted JVMs are more efficient"
  • All the latest Java performance tips extracted in concise form
    • "The probability that a customer will see a worse than a nth centile request is 1-(n)^requests, eg the average page makes 42 requests to display the page, then 1-(0.95)^24 = 88% of pages see the 95th centile or worse in latency!"

MAY NEWSLETTER

Previous newsletters

All our previous newsletters can be viewed from here

How to use this site

This site has four main information resources:

  • The uncategorized tips page lists many other web pages with Java performance tuning related information. Each web page has its performance tuning tips extracted and listed immediately after the URL is listed. These tips are being categorized, and the tips page links to those categories currently available. If the performance area you are interested in is not yet categorized, send us an email from this page telling us the categorization you'd like to see. In any of the tips pages, use your browser's "find" or "search" option to identify particular tips you are interested in on the page, and follow up by reading the referenced web page if necessary or desired.
  • The resources page lists Java performance tuning resources including books, tools, reports, other performance tuning sites of interest, and Java performance tuning discussion groups.
  • The news pages are monthly newsletters listing any new Java performance tuning related information, together with Kirk Pepperdine's discussion group roundup and Javva The Hutt.
  • The tool reports pages are detailed introductory reports on various Java performance related tools, for both free and commercial tools.


This site has been designed to download almost as fast as possible. (Some stylistic markup and required server-side processing has been used in preference to absolute speed contraints.) The web tree contains very few graphics and almost no complex typesetting markup except for very simple tables, and the main pages can be accessed directly from the menu.

This line is only to help search engines: Java performance tuning Java tuning Java optimization Java optimize Java optimizing Java fast Java faster Java speedup Java performance Java High-Performance


Last Updated: 2017-08-30
Copyright © 2000-2017 Fasterj.com. All Rights Reserved.
All trademarks and registered trademarks appearing on JavaPerformanceTuning.com are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries. JavaPerformanceTuning.com is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.
URL: http://www.JavaPerformanceTuning.com/index.shtml
RSS Feed: http://www.JavaPerformanceTuning.com/newsletters.rss
Trouble with this page? Please contact us