Addison-Wesley Professional wrote:Eagerly anticipated by millions of programmers, Java SE 8 is the most important Java update in many years. The addition of lambda expressions (closures) and streams represents the biggest change to Java programming since the introduction of generics and annotations.
Now, with Java SE 8 for the Really Impatient, internationally renowned Java author Cay S. Horstmann concisely introduces Java 8’s most valuable new features (plus a few Java 7 innovations that haven’t gotten the attention they deserve). If you’re an experienced Java programmer, Horstmann’s practical insights and sample code will help you quickly take advantage of these and other Java language and platform improvements. This indispensable guide includes
* Coverage of using lambda expressions (closures) to write computation “snippets” that can be passed to utility functions
* The brand-new streams API that makes Java collections far more flexible and efficient
* Major updates to concurrent programming that make use of lambda expressions (filter/map/reduce) and that provide dramatic performance improvements for shared counters and hash tables
* A full chapter with advice on how you can put lambda expressions to work in your own programs
* Coverage of the long-awaited introduction of a well-designed date/time/calendar library (JSR 310)
* A thorough discussion of many small library changes that make Java programming more productive and enjoyable
This is the first title to cover all of these highly anticipated improvements and is invaluable for anyone who wants to write tomorrow’s most robust, efficient, and secure Java code.
"Java SE 8 for the Really Impatient" is a fairly thin book (200 pages) that covers what's new in Java 8. And some of the features that were new in Java 7.
The book doesn't skimp on detail. The first 60 pages teach you about lambdas, stream and functional programming. I like how Cay covers so many different scenarios. The book is fast moving and doesn't have a lot of fluff. This meant I had to read some sections a few times to grasp the material.
The book also covers smaller changes in Java 8 such as the new way to create a Locale. I particularly liked the examples for the Instant class to deal with dates. And it was cool learning what UTC (doesn't exactly) stand for.
Even in the Java 7 section, I learned things. For example, I didn't know about Objects.equals() and the new supertype for reflection based Exceptions.
Each chapter ends with hands on exercises. I haven't tried them yet, but doing so is on my to do list.