With well over a million page views by over 100 000 people in 2007, we think the access stats at JavaPerformanceTuning.com and Fasterj.com give a useful feel for what people were most interested in related to Java performance. In this article, I'll look through those stats, aiming to get an idea of what our readership were looking for. And to avoid suspense, "volatile" seems to have been flavor of the year.Published December 2007, Author Jack Shirazi
Our biggest single referrer (that is other web pages that directed traffic to our sites) was, unsurprisingly, Google. I'll discuss the search engine data in the next "Searches" section. Otherwise, ignoring search engines and online mail hosts, our referrals came from lots and lots of different articles, discussions, and links pages. I tracked through quite a few of these but no overriding theme jumped out - other than the obvious expected one that the vast majority are about tuning Java one way or another. (I was excited to see one referrer entitled TheLastJavaGarbageCollectionGuideYouWillEverNeed and excitedly checked it hoping I'd never need to trawl for GC info again. But sadly, it was somewhat incorrect in its description, and I'll still be trawling for GC guides in the coming year).
In our own internal analyses, we've estimated that if you are searching for specific Java performance information through Google or any of the top 20 search engines, you have a 90% chance of your search being directed to us. And usefully, from the referral URL we can see what you were searching for that brought you to our site.
In 2007, you were searching mostly for three things:
No other category of searches had even 10% as many as any of these searches.
The first and the third are expected, they are the bread and butter of Java performance. But to have a very specific term like "volatile" come in the top three is really interesting. A couple of years ago it was JDBC tuning that people were searching for, which seemed reasonable, whereas I suspect searching for information on "volatile" reflects the increasing emphasis on concurrency that the I.T. world (not just Java) now has.
The most popular single page is our resources page - perhaps in need of a refresh, but still the single most useful page for seeing what Java performance tools are available. (If you have a Java performance tool and it is not on there, do contact us to have it put there)
After that we get a sequence of tips pages (all the tips, volatile, JDBC connection pools, final) and then, our May 2003 Question of the Month: What does volatile do?
Those of you interested in following that "volatile" link might also be interested in our followup Question of the Month Volatile vs. Synchronized re-visited. And even more useful than any of these is very likely Brian Goetz's article Managing volatility (Brian is pretty much the final word when it comes to issues of concurrency and memory models in Java as far as I'm concerned)
Those top six pages and the earlier search stats told us your concerns, as usual, were finding resources and tips, with a particular emphasis this year on "volatile". The next few pages in our 2007 page rank tells us what else interested you:
As Fasterj.com was only started this year, it has a dramatically different profile to our main JavaPerformanceTuning.com site. So there are only really two items of interest for 2007:
Well, that concludes our trawl of our 2007 stats. Good luck to you all for 2008 and beyond.