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
Site24x7: Java Method-Level Tracing into Transactions @ $12/Month/JVM. Sign Up! 

Developers wanted in London - IoT, big data, concurrency, real-time, global! 

New Relic: Try free w/ production profiling and get a free shirt! 

Java Performance Tuning

JProfiler
Get rid of your performance problems and memory leaks!

jKool for DevOps
Light up your Apps & get a cool t-shirt


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:


Site24x7
Site24x7: Java Method-Level Tracing into Transactions @ $12/Month/JVM. Sign Up!

Java Developers WANTED in London
IoT, big data, concurrency, real-time, global!

New Relic
New Relic: Try free w/ production profiling and get a free shirt!


JProfiler
Get rid of your performance problems and memory leaks!

jKool for DevOps
Light up your Apps & get a cool t-shirt


Latest news

NEW: 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

APRIL NEWSLETTER

  • We list all the latest Java performance related news and articles
    • "If you're storing ints into a HashMap, they're being converted to and from Integers (either explicitly or through autoboxing). Changing the code to use the appropriate trove map (TObjectIntHashMap, TIntObjectHashMap or TIntIntHashMap) gives you a smaller, faster, and higher throughput implementation, at almost no effort"
  • All the latest Java performance tips extracted in concise form
    • "You can auto-tune a system if you have a parameter which can be adjusted that you can control, a measure that the parameter affects, and a target for that measure (and assuming the parameter and measure react within reasonable times). Then using a controller with a feedback loop, the parameter can be auto-adjusted to minimize deviations from the target. This can allow your system to adapt to dynamically changing resource contention (eg request surges)"

MARCH NEWSLETTER

  • We list all the latest Java performance related news and articles
    • "In the performance world, we always go for the 'fail fast' implementation - as with any collection comparison, you compare subsets of the collection, and fail as soon as you know any subset does not equate. But in the security world, this can be dangerous."
  • All the latest Java performance tips extracted in concise form
    • "If you need extremely low latencies, you have to take account of the mode and route of physical transmission of signals as well as the transport layer. Fibre transmits at 2/3 the speed of light, and most fibre routes tested were 1.5-2 times longer than the shortest physical path, so a typical good fibre route is already ~3x slower than maximum possible. DNS lookup and TCP handshakes imply further large overheads"

FEBRUARY NEWSLETTER

JANUARY NEWSLETTER

DECEMBER NEWSLETTER

NOVEMBER NEWSLETTER

  • We list all the latest Java performance related news and articles
    • "where to actually focus your effort: on enabling the architecture to scale horizontally and specifically handling the interactions between the components"
  • All the latest Java performance tips extracted in concise form
    • "Choice of protocol for IoT depends on how and what pattern of communications the devices need to do - device processing capability, interoperability, message sizes, communication encryption, reliability of message delivery (atmost once, at least once, exactly once), and communication flow control (importantly whether you need to ensure there is a control channel open which means you can't allow congested channels) all need to factor in to the protocol decision"

OCTOBER NEWSLETTER

SEPTEMBER NEWSLETTER

AUGUST NEWSLETTER

  • We list all the latest Java performance related news and articles
    • "'-Xrun' is a generic command to the JVM to run a shared library agent given by the name of the subsequent characters, ie '-Xrunxyz' would run the shared library agent 'xyz'; on unix there will be a 'libxyz.so', on windows a 'xyz.dll'"
  • All the latest Java performance tips extracted in concise form
    • "For more efficient debugging of asynchronous calls, either pass the stacks as you move from one context to the next, or more efficiently generate a UUID at the start and pass the UUID across all asynchronous contexts (and log that UUID) so that you can track a request across asynchronous processing using the UUID"

JULY NEWSLETTER

  • We list all the latest Java performance related news and articles
    • "A tiny change in Java 8 is that Thread.stop(Throwable) is now disabled - it now throws an UnsupportedOperationException instead of working as it did in earlier Java versions. Thread.stop() still works (ie the stop() call with no argument)"
  • All the latest Java performance tips extracted in concise form
    • "Make sure everything is getting JIT compiled. A quick technique to check this is to switch on the -XX:+PrintCompilation flag, then redo with -XX:ReservedCodeCacheSize doubled and if more methods are getting compiled the second time, the code cache was too small"

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: 2016-06-28
Copyright © 2000-2016 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