A three day training course bringing students up to date with the latest in Java 8 and beyond. This course covers the key features around functional programming with Java 8 over the first two days. You then build upon this theory by refactoring a project using different modern concurrency techniques including promises using Java 8’s CompletableFuture, actors using Akka and reactive streams using RxJava. You’ll learn the good, the bad and the ugly between these approaches in terms of compositionality, testability and simplicity. Hands on exercises will also be provided in order to help students fully solidify their knowledge.