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
New Relic: Try free w/ production profiling and get a free shirt! 

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

News July 2016

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

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:


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

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


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

JProfiler
Get rid of your performance problems and memory leaks!


Back to newsletter 188 contents

A Gem from this month's extracted tips (from Brian Goetz's talk): "There are three ways to thread-safely handle state: don't share or don't mutate or coordinate access". You've probably tried all three techniques at times, but without necessarily explicitly thinking that these were your alternatives.

A note from this newsletter's sponsor

Site24x7.com : Deep dive Application Performance Monitoring
Fix performance issues with Java, .NET and Ruby platforms
Monitor app instance at $12/Month. 30-day free trial. Sign Up!

What's nice about explicitly listing these three alternatives is that you can hold that in mind, and everytime you consider a concurrency implementation, you can think through these options (the order listed in the quote is also the order of increasing likelihood of generating issues, ie the first is easiest to maintain as least likely to cause bugs).

Of course there are corresponding overheads - 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 high throughput for 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.

Now almost on to our usual links to tools, articles, news, talks, but first a couple of goodies: for those of you interested in following the JCrete conference, #JCrete will be used to tag related items, including (live) periscope broadcasts; and finally LinkedIn's Zhenyun Zhuang's article on SSD-Friendly Applications, linked below, is an absolute must-read if you use SSDs, and I/O performance is important to you. And if you need the tips from that or any other of this month's articles and talks, as ever they are extracted into this month's tips page.

News

Java performance tuning related news.

Tools

Java performance tuning related tools.

A note from this newsletter's sponsor

New Relic - Try New Relic today and get your free Data Nerd shirt!
Free SaaS APMto monitor, troubleshoot, and tune apps
running on Websphere, Weblogic, Tomcat, Jetty, JBoss, Solr, Resin

Articles

Jack Shirazi


Back to newsletter 188 contents


Last Updated: 2017-05-01
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/news/news188.shtml
RSS Feed: http://www.JavaPerformanceTuning.com/newsletters.rss
Trouble with this page? Please contact us