2 Days: Modern Development with Java 8
Richard Warburton, Monotonic Ltd
Raoul-Gabriel Urma, University of Cambridge
Overview
Java 8 isn't your parent's Java anymore. It is the largest update to Java in its history. It's a very exciting time. Some of the best ideas from functional programming are migrating their way into Java 8. This means easier to read, more flexible code that scales to multicore. At the end of this course, you will be ready to use Java 8 on your day job and be familiar with the cutting edge programming approaches which allow you to write more flexible and concise code.
When: 20-21 October 2015
Where: Stockholm, Sweden
Language: English
Format: Bring your own laptop
Price: 13 500 SEK
15% discount when booking before 1 September
All prices excl. Swedish VAT and incl. lunch
Register hereLambda Expressions
- Why Java 8?
- Behaviour Parameterisation
- What is a lambda?
- Functional interfaces: where to use lambda expressions?
- Method references: first-class functions in Java 8
- Advanced details
Streams
- Collection Processing
- Stream operations and patterns
- Stream Optimization
Collectors
- Grouping and partitioning
- Collection Operations
- Arithmetic collectors
- Advanced Queries
- Mutable Reduction
Easy Data Parallelism
- What is Data Parallelism?
- Why is this important?
- Parallelising your streams
- Parallel Gotchas
- Decomposition performance
Testing & Debugging Lambda Expressions
- Unit testing lambda expressions
- Debugging with laziness
- Stack traces
Default and static methods on interfaces
- Motivation for default methods
- Static methods in interface
- Useful default methods
- Patterns for default methods
- Resolution rules
Enhanced Design with Lambdas
- Execute around: resource handling
- Deferred execution: Logging
- Design patterns
Date & Time in Java 8
- The problem with existing date and time libraries
- The core classes: LocalDate/LocalTime
- Common API Patterns
- Timezones
Optional data types
- The problem with null
- How Optional improves upon null
- How to use Optional in your code
Enhanced Concurrency with Lambdas
- Introduction to Concurrency
- Event Driven APIs with Callbacks
- CompletableFutures
- Concepts of Reactive Programming