|
|
|
Back to newsletter 189 contents
So I went to JCrete and had some really interesting discussions. Then I watched a bunch of the JVM Language Summit recordings. Then I looked at some of the frameworks that are alternatives for implementing concurrent applications. Then I looked through a bunch of libraries which provide new collection classes of all sorts. And after all that I realised that this is now the most dynamic, interesting, innovative time we've ever seen for Java! More than 20 years of ever improving Java and, instead of maturing and slowing down, we're actually accelerating improvements in Java all the way from the very bottom of the stack (Java built in Java) on through every stage - new language features, new bytecodes, new JVM structures, new compiler capabilities, new hardware support, new monitoring and management, new data structures, new frameworks, even new manifestos! This is extraordinary and unexpected and delightful.
I have a lot more to say, but I'll gather my thoughts and present them over the next few newsletters. I'll start here with one item (from JCrete): In Java 8 ConcurrentHashMap is about the same size as HashMap. There's not too much of a performance penalty for using ConcurrentHashMap instead of HashMap, no longer a size penalty, and a huge benefit that if you accidentally use it concurrently (which is incredibly common), ConcurrentHashMap will work correctly. And as for the slight performance penalty - if you notice it, why are you using HashMap, there's almost certainly a faster map for that use in your application!
So what I'm saying is that you might want to try using ConcurrentHashMap as your default map. Now on to our usual links to tools, articles, news, talks, blogs. And if you need the tips from this month's articles and talks, as ever they are extracted into this month's tips page.
Java performance tuning related news.
Java performance tuning related tools.
Back to newsletter 189 contents