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.
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 -
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 -
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!
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.
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.
Java 8 made significant changes to the internals of the GC engine, going as far as removing the permgen space.
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 -
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!
Bulletproof Java Code: A Practical Strategy for Developing Functional, Reliable, and Secure Java Code
Use Java? If you do, you know that Java software can be used to drive application logic of Web services or Web applications. Perhaps you use it for desktop applications? Or, embedded devices? Whatever your use of Java code, functional errors are the enemy!
To combat this enemy, your team might already perform functional testing. Even so, you're taking significant risks if you have not yet implemented a comprehensive team-wide quality management strategy. Such a strategy alleviates reliability, security, and performance problems to ensure that your code is free of functionality errors.Read this article to learn about this simple four-step strategy that is proven to make Java code more reliable, more secure, and easier to maintain.