If you’re a developer with core Java SE skills, this hands-on book takes you through the language changes in Java 8 triggered by the addition of lambda expressions. You’ll learn through code examples, exercises, and fluid explanations how these anonymous functions will help you write simple, clean, library-level code that solves business problems. Lambda expressions are a fairly simple change to Java, and the first part of the book shows you how to use them properly. Later chapters show you how lambda functions help you improve performance with parallelism, write simpler concurrent code, and model your domain more accurately, including building better DSLs.
Richard Warburton is an empirical technologist and solver of deep-dive technical problems. He has recently written a book on Java 8 Lambdas for O'Reilly and is running java8training.com.
He has worked as a developer in many areas including Statistical Analytics, Static Analysis, Compilers and Network Protocols. He is a leader in the London Java Community and runs OpenJDK Hackdays.
Richard is also a known conference speaker, having talked at Devoxx, JavaOne, JFokus, Devoxx UK, Geecon, Oredev, JAX London and Codemotion. He has obtained a PhD in Computer Science from The University of Warwick.
This is really good introductory material (and a bit more tbh) about Java8 lambdas.
Although they’ve been around for a while now, I find they are still unconventional for many (even experienced) Java Developers.
This book offers a broad perspective on lambdas and functional programming in Java, as well as quite a few looks under the hood.
Kudos to Richard Warburton on sharing his knowledge in entertaining and actionable ways from the basics to non blocking IO through classic Stream operations, functional interfaces, revisiting Design Patterns and other crunchy tidbits.
Also, thumbs up on providing Exercise sections - it’s obvious the reader is expected to keep up.
This made for an efficient read. I definitely recommend.
I'm a big fan of Functional Programming and a working Java developer at JDK 6 for app server compatibility. That's where I'm coming from.
This is an EXCELLENT book for developers who are thoroughly familiar with good ol' Java and want to know more about the promise of fp style programming in the Java ecosystem. The book is exactly as long as it needs to be. Explanations are brief but edifying, code samples are useful. The discussion is a nice mix of Hows and Whys (Whies?), along with some tempting Whats. The attitude of the prose is helpful, conspiratorial and confident.
If you're looking for a single-serving introduction to Java 8 Lambdas, I don't think you'll find one better than this. Another excellent resource is Brian Goetz's State of the Lambda, found here: http://cr.openjdk.java.net/~briangoet... .
This book would have gotten 4 stars, but I think there are a few places where it's just plain misleading. In particular, the details about parallel and performance could lead to assumptions about easy payoffs from simply making stream operations parallel. Warburton does acknowledge the safety needs here (i.e., making your data immutable and such) but he doesn't really address the fact that the simple parallelism offered here can quickly lead to decreases in performance and unpredictable behavior. This is a serious enough concern that I thought it worth knocking a star off my rating. That said, if you want to quickly get up to speed on the new Java 8 functionality, this is a solid resource for doing so.
a good book to introduce lamadbas. i have read these chapters 2,3,4,5,6,8 and feel useful and understandable. but if you really want to know how to use lamabdas,you should use java8 in your real project,and check the java8 api for real practice. at that time,the book will give you more value. the chapters 9 is a little difficult to understand,the chapter 8 can teach you some design pattern through lambdas,but is a little repeatable.
First, this book is not for everyone (from my perspective). It is oriented on people who many years in Java and what to switch from Java7 to Java8. Second, this book has a good examples and describe many concepts, patterns, common design decisions but I felt as I need more in-depth look and more examples to see and try concept from different angles.
To summarize, this book is for people with 3+ years of Java experience (my subjective opinion) who want to switch from Java7 and need short guide about what is new in Java8.
I really enjoyed the book, it is a good introduction to functional programing in Java with Lambdas, I like how the author focused on sharing the right concepts behind each idea or code snippet.
One thing I didn't like is the idea that Lambdas can replace everything even if it is not necessary and that was obvious in Chapter 8 where it was focused on writing lambdas just to save some extra lines which will cause duplication in the future.
A quick introduction to lambdas in Java 8. However, if one (like myself) is familiar with functional programming (e.g., F#, SML), then this will be a short read as lambdas aren't that different from higher-order functions and there aren't too many nuances in Java.
If one's familiar with lambdas in Java 8 - the first part of the book would be not very useful. What I really liked are the chapters about Completable Futures and Parallelism.
Since last few months, I have been trying to find a good book on learning lambda expressions thoroughly. I tried with some of the books available in market but this books is the one which I like most. It covers each and every aspect of lambda expressions with proper exercises which helps people learn more. I truly recommend this book if you're interested in learning Java 8 lambda expressions clearly.
A concise book on subject but does not lack any valuable aspect of Lambdas. It can have more information on Data Parallelism, but owing to Conciseness being its native attribute, i think it is justified... Data parallelism is a detail oriented subject; which need to be addressed separately. Please also read following topics along with this book, 1. Method Handle in JDK7 2. Java Lang Invoke package classes 3. Scala Closures
This book provides introduction to new Java 8 features targeted to seasoned pre-8 Java programmer. Provided material is useful and helps to start using Java 8 features quickly. However book contains several typos and even code examples that do not hold to Java stream library contract (i.e. example code will work in most but not all typical use cases).
This is a must read for anyone who's just started coding using Java 8. The book, besides a lot of good examples and concept explanations, contains, to my surprise, very, very good chapter on concurrency, describing a high-order functions approach to write non-blocking code in a way similar to Streams API.
Good book, short, concise and to the point. Great introductions to streams & other news in Java 8. It got a bit abstract at the end, but overall a good read.
The first 5 or 6 chapters was great. However, for me right now in my study of the new stuff in Java 8, the latter chapters (especially chapter 8, and 9) was not so interesting since they was not about lambas/Streams. Perhaps - soon or in the future - I will re-read these chapters with more interest.