Java Performance Tuning

Java(TM) - see bottom of page

News July 2016

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

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

Articles

Jack Shirazi

Back to newsletter 188 contents

Last Updated: 2020-08-28

Copyright © 2000-2020 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

