Java 8 was released last month and is just chock-full of new features and behind-the-scenes optimizations. The internet has been doing quite a good job covering all these new additions – both the good and the bad. I thought it’d be good to do a round-up of what we think are some of the best tutorials out there, to help you get you quickly up-to-speed on what’s new and what you need to know.



Java 8 New Features List

Let’s start with the basics – the official OpenJDK list of new features in the Java 8 core library, JVM and the JDK. This is a must read.

The OpenJDK 8 new features list

Lambda Expressions

Hailed as the biggest change to the language in the last decade, Java 8’s Lambda expressions finally deliver core elements of functional programming that have been made popular with languages such as Scala and Clojure right to your doorstep.

This is really one of those cases where I suggest going with the official documentation and tutorials first –

The official Java Lambda expressions tutorial

An extensive Lambda expressions tutorial with examples

Parallel Array Operations

2 is better than 1 (it’s kitch song time!). Java 8 now lets you operate on arrays and collections in parallel to maximize use of your hardware’s resource with a simple and intuitive new set of APIs. Check ’em out –

Parallel Array operations

Parallel operations benchmark

Concurrent Counters

This is a personal favourite of mine. I always thought Java has done such a great job at providing powerful idioms for safe multi-threaded operations. That’s why I always felt it was such a shame it did not provide an intrinsic idiom for multi-threaded counters. I just get shivers when I think of all the bugs and man hours that could have been saved. Well, not anymore. Concurrent counters are finally here!

Concurrent counters in Java 8

Date Time APIs

Java 8 finally makes using date and time operations in your code simple and intuitive, on par with that we’re used to with Joda Time.

The new date time API

A deep look into the Java 8 date time APIs

Bonus: Why Joda wasn’t used in Java 8

And before we move on to other subjects, here’s a very thorough tutorial on all the new language and library additions in Java 8.

Nashorn JavaScript

Nashorn in the the new JavaScript engine built into the Java 8 core library which enables you to execute JavaScript right from the comfort of your JVM, without having to set up another node.js container.

How to use Nashorn in your code

Using Nashorn to run CoffeeScript

Garbage Collection

Java 8 made significant changes to the internals of the GC engine, going as far as removing the permgen space.

Java 8 GC – here’s what you need to know

Java 8 Security

Code security is right up there with brushing your teeth or doing your cardio. You don’t really like doing it for the most the part, but you know that bad things will happen if you don’t. Here’s a good (and concise) round-up of the new security features in Java 8. So go ahead and brush your teeth –

Java 8 Security Enhancements

HashMap Collisions

While not really a tutorial, I thought it’d be worth mentioning that Java 8 has finally gone ahead and improved how Hashmaps operate under stress – something that’s been talked about for years now and finally got done. Good job!

Fixing frequent HashMap collisions

Hope you think this roundup did a good job of highlighting the new and noteworthy features. Think we omitted something, or have a better tutorial in mind for any of these? Hit us in the comments section.