Latest news
NEW: FEBRUARY 2021 NEWSLETTER
JANUARY 2021 NEWSLETTER
- We list all the latest Java performance related news and articles
- "From JDK 17 Shenandoah will be completely concurrent except for some constant time admin operations - all pauses be under 1 millisecond!"
- All the latest Java performance tips extracted in concise form
- "Prioritized load shedding works by: Consistently prioritize requests across device types into NON_CRITICAL (does not affect customer experience), DEGRADED_EXPERIENCE (affects customer experience but doesn't prevent primary customer operations), CRITICAL, and score between 1 to 100 for each request given its individual characteristics; progressively throttle requests based on priority; validate by chaos testing (deliberate fault injection) for requests of specific priorities"
DECEMBER NEWSLETTER
- We list all the latest Java performance related news and articles
- "This momth's memory leak special covers JFR memory leak analysis and native memory leak analysis to add to the previous heap memory leak analysis special"
- All the latest Java performance tips extracted in concise form
- "ByteBuffer.allocate() (which creates a HeapByteBuffer) has memory allocated in the heap, while ByteBuffer.allocateDirect() (which creates a DirectByteBuffer) has memory allocated in native memory. If you use a HeapByteBuffer, OS I/O calls have to copy the data to and from the buffer; using a DirectByteBuffer allows the OS I/O calls to operate directly on the native buffer so copying can be avoided."
NOVEMBER NEWSLETTER
OCTOBER NEWSLETTER
SEPTEMBER NEWSLETTER
AUGUST NEWSLETTER
JULY NEWSLETTER
JUNE NEWSLETTER
MAY NEWSLETTER
- We list all the latest Java performance related news and articles
- "if you have any Serverless I really recommend watching this masterclass"
- All the latest Java performance tips extracted in concise form
- "Serverless invocation types: synchronous (request/response; errors returned to and retries required by the client); asynchronous (event sent by client then disconnected; event on a queue for the serverless function, serverless function called N times or M seconds - configurable, dependent on throttling - then sent to dead letter queue or on-failure destination if not processed; can route based on success and failure); stream-based (pushed in batches synchronously from eg Kinesis or DynamoDB with retries N times or M seconds; need to handle batches that have one bad event somehow, preferably from the cloud capability eg BisectBatchOnFunctionError); poller-based (poller pulls synchronously from a queue, probably in batches)"
APRIL NEWSLETTER
MARCH NEWSLETTER
- We list all the latest Java performance related news and articles
- "your primary GC tuning option is now to select the algorithm rather than the old 'tweaking the algorithm' way"
- All the latest Java performance tips extracted in concise form
- "The methodology for analyzing memory leaks is four steps: 1. Do I have a leak (and does it needs fixing - use gc logs to see); 2. What is leaking (instances of which classes - compare two heap histograms separated by enough time to see the leak); 3. What is keeping the objects alive (what instances in the app - you need a heap dump to find these); 4. Where is it leaking from (the code where the objects are created and/or assigned - any memory profiler which can sort on GC generations and provide object creation traces)."
FEBRUARY NEWSLETTER
JANUARY NEWSLETTER
- We list all the latest Java performance related news and articles
- "track your connections and the threads that manage them"
- All the latest Java performance tips extracted in concise form
- "Shuffle sharding: Shard instances (combine them into small groups) to limit the number of instances a particular request source can reach, so that if that request source causes problems (a noisy neighbour), the number of instances impacted is limited (as opposed to full balancing of requests, where the requests could go to any instance, which could potentially impact all instances); Shuffle the shards so that any random shard can contain instances that overlap other shards giving many more shards, if a source request impacts a shard, other source requests going to other shards which include an impacted instance are only partially affected and since there are many more shards you are much less likely to be using the exact same shard as the bad one."
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
|