Everything about

#java‑8

Expert Java 8#course#java‑8
A 1-day course that turns experienced Java 8 developers into experts on all things Lambdas, Streams, Optionals, and default methods
Java 8#course#java‑8
A 2 to 3-day course, introducing Java 8's core from lambda expressions and default methods to Stream, Optional, CompletableFuture and the DateTime API
Repackaging Exceptions In Streams#post#clean‑code #java‑8 #lambda #streams
How to repackage checked exceptions that get thrown in a Java stream pipeline so that they can be thrown without the compiler complaining about it.
Expert Java 8#talk#java‑8 #lambda #streams #optional #default‑methods
With this talk, I help you get the most out of lambdas, Streams, Optionals, and default methods, helping you master Java 8's core features
Rebutting 5 Common Stream Tropes#post#java‑8 #rant #streams
Articles about Java 8's streams often repeat a bunch of tropes: succinctness, ugly mechanics, anemic pipelines, weak exception handling. This is a rebuttal!
Beware Of findFirst() And findAny()#post#java‑8 #streams
Stream.findFirst() and findAny() work with any number of elements in the stream. Make sure to reduce(toOnlyElement()) if there should be at most one.
Stream Performance - Your Ideas#post#java‑8 #performance #streams
Another post about stream performance - this one implements your ideas about how else to approach the topic.
Stream Performance#post#java‑8 #performance #streams
A close look at stream performance. How do they compare to for and for-each loops oder arrays and lists. And what role plays boxing?
Java 8 SE Optional, a strict approach#post#java‑8 #optional
Stephen Colebourne presented his pragmatic approach to using Optional. I argue for a stricter one that gets us further without considerable downsides.
Casting In Java 8 (And Beyond?)#post#java‑8 #optional #streams
Proposal to implement new casting methods on Java's Class. They aim to fulfill the need for improved ways to cast which was created by Java 8.
Getting Rid Of Anonymous Classes#post#java‑8 #lambda #techniques
Anonymous classes are verbose and obfuscating. Functional implementations can oust them from their last strongholds (mainly abstract classes).
Interface Evolution With Default Methods – Part II: Interfaces#post#default‑methods #generics #java‑8
Why interface evolution with default methods does not work for whole interfaces - at least not smooth enough to be practical.
Roll Your Own Pirate-Elvis Operator#post#java‑8 #lambda #optional
Java has no Elvis operator (or null coalescing operator / null-safe member selection) but with lambda expressions / method references you can roll your own.
Interface Evolution With Default Methods - Part I: Methods#post#default‑methods #java‑8 #patterns
Patterns for interface evolution with default methods: gradually add, replace and remove interface methods without breaking client code.
Value-Based Classes#post#java‑8 #java‑next #project‑valhalla #value‑types
An explanation of value-based classes in Java 8. Why do they exist? What are their limitations? How (not) to use them?
Everything You Need To Know About Default Methods#post#default‑methods #java‑8 #java‑basics
Covering literally everything there is to know about Java 8's default methods.
New Javadoc Tags @apiNote, @implSpec, and @implNote#post#java‑8 #tools
There are new Javadoc tags used in Java 8: @apiNote, @implSpec, and @implNote. Take a look at their history, meaning and use on command line and with Maven.
Instances of Non-Capturing Lambdas#post#default‑methods #java‑8 #lambda
See how Java's creation of instances of non-capturing lambda expressions can lead to unexpected and possibly bug-inducing behavior.
Impulse: "Lambdas In Java: A Peek Under The Hood"#post#java‑next #impulse #java‑8 #lambda
Discussing the talk "Lambdas in Java: A peek under the hood" given by Brian Goetz at the goto; conference 2013 in Aarhus.
Serialize Optional#post#java‑8 #optional #serialization
A summary of why you can't serialize Optional and what can be done to deal with that limitation if necessary.
Why Isn't Optional Serializable?#post#java‑next #java‑8 #optional #serialization #value‑types
Discussing the reasons for not making Java 8's new type Optional serializable.
The Design of Optional#post#java‑next #java‑8 #optional
A digest of how Optional was introduced in Java 8, summarizing the many discussions about it and their key points based on the mail archive of JSR-335.
Intention Revealing Code With Optional#post#clean‑code #java‑8 #optional
Write intention revealing code with Java 8's new type Optional and prevent most NPEs. This is not optional!
The Decorator Pattern With Default Methods#post#clean‑code #patterns #default‑methods #java‑8
Use Java 8's default methods to make the decorator pattern even more beautiful, which results in more concise and readable code.