Search our courses

This Java training course discusses Java 8’s capabilities (& limitations) and answers the question “Does the arrival of streams make Java 8 a functional language?”. We then discuss Java 8 concurrency in some detail.

Advanced Java 8 and Introduction to Java 9

Price €795.00

Course Code



1 Day

Course Fee




Target Audience

This Advanced Java 8 and Introduction to Java 9 training course is suitable for experienced and advanced Java programmers. Especially suitable for architects and team leaders who want to learn the limits of Java 8 or work out whether the time is right for them to move to Java 9. Also suitable for teams trying to decide whether to stick with Java or move to e.g. Kotlin or Scala.

Attendee Requirements

Attendees must already be experienced Java 8 programmers, and comfortable working with lambdas and the Streams API. Any wider knowledge of Functional Programming concepts is very helpful but not essential. Any experience programming in Scala, Clojure, Kotlin or Haskell will be an advantage.

Friday 11 May - Friday 11 May (1 days) 09.00 - 17.00

Ways to Attend this Course

  • In the Classroom
  • Private Training

Expand all

Course Description

This Java training course discusses Java 8’s capabilities (& limitations) and answers the question “Does the arrival of streams make Java 8 a functional language?”. We then discuss Java 8 concurrency in some detail.

Course Outline

A. Functional Programming in Java 8

1. Motivation

  • Streams enable “slightly functional programming” – graphics
  • What is functional programming?
  • 7 features of FPL
  • How far does Java go?

2. Values and Function Objects

  • 2 types of values
  • Function objects
  • Internals / oops & tie to Runnables & SAM types

3. FP in Java from first principles (mostly IDE, no Java 8 syntax)

  • Building up FP in Java
  • A function type
  • Apply & compose
  • Making it generic
  • Lambda syntax

Lab: Building up FP in Java

4. Functional Collections and Streams

  • Problems – internal mutation
  • The need for a new abstraction – Streams
  • Streams are not first-class
  • Streams as “container types”
  • Building the pipeline
  • Problems with Stream programming

Lab: Advanced Streams

5. Default methods

  • Why we need them
  • How they work
  • IDE: Practical considerations
  • Stateless traits vs interface evolution
  • Java 8 features in context of other languages
  • Conservative language design
  • Lambdas are not inner classes (invokedynamic)

B. Java 8 Concurrency Updates

6. Parallel Streams

  • Moving beyond external iteration
  • Fork / Join
  • Implementation details
  • Shortcomings

Lab: Parallel Streams

7. CompleteableFuture

  • Review of Java 5 Futures
  • Futures and Promises
  • CompleteableFuture
  • CF as a “container type”

Lab: CompleteableFuture

8. Misc Concurrency Updates

  • ConcurrentHashMap in Java 7 and 8
  • CountdownLatch, CyclicBarrier and Phaser
  • Adders and Accumulators
  • Missing Methods on Map

C. Introduction to Java 9

9. New Version Scheme and Roadmap

  • History of OpenJDK
  • New Release Scheme and Process
  • Long-Term Support Releases
  • Non-Oracle Vendors
  • Java on Docker

10. Modules

  • Design (pros and cons)
  • Multi-Release JARs
  • Maven
  • Greenfield deployments
  • Using non-default modules
  • Writing a first module
  • Exporting and APIs

Lab: A first module

11. Collections and Streams Updates

  • Collection helpers
  • Reactive Streams
  • Flow, Publisher, Subscriber
  • Transformations and Processors

Lab: Using Flows

12. Internal Changes

  • Encapsulation
  • Unsafe
  • Compact Strings
  • Indify String Concat
  • AOT Compilation
Learning Path


Ways to Attend
  • Attend a public course, check our schedule
  • Private onsite Team training also available


Book Now
Participant number 1 €795.00

Book Now

Required fields



Technical ICT learning & mentoring services

Private Team Training

Our instructors are specialist consultants with vast real world experience and expertise allowing them to design and deliver client-focused courses for your organisation.

Learn more about our Private Team Training

What Our Clients Say

“Very interesting course from an excellent instructor. Highly technical and well delivered”


Introduction to Modern Security - GTJ50

Dec '17

“Super experience. The instructor spoke with great knowledge and experience. The materials will be invaluable in the real world”


Professional Cloud Service Manager Certification training- GTC13

Dec '17

“Very useful course, making complex topics more approachable and the instructor was very good at getting concepts across and engaging with delegates and our specific needs”


Optimising Java - GTJ47

Dec '17

“This was an excellent course and I found it very interesting and enjoyable.  The instructor was a font of knowledge on all aspects of Big Data and Analytics and was enthusiastic about sharing his knowledge”


Applied Data Science and Big Data Analytics - GTBD7

Nov '17

“The instructor was fantastic at explaining lessons with applicable work type examples.  He was enthusiastic with what he was teaching which made learning the course more enjoyable”


Linux Essentials Certification - GTU2

Oct '17

"Intelligence is the ability to avoid doing work, yet
getting the work done"

Linus Torvalds, creator of Linux and GIT

Technical ICT learning & mentoring services

About GuruTeam

GuruTeam is a high-level ICT Learning, Mentoring and Consultancy services company. We specialise in delivering instructor-led on and off-site training in Blockchain, Linux, Cloud, Big Data, DevOps, Kubernetes, Agile, Software & Web Development technologies. View our Testimonials

Download our eBrochure
Our Accreditation Partners
Upcoming Courses

Optimising Java

16-17 April

Cork - limited places

Written & presented by Ben Evans: adapted from his current O’Reilly book Optimizing Java.

Learn More


April & May dates

Dublin, Cork and Galway

Courses designed, written & presented by Fintech expert, incorporating Ethereum & Corda

Learn More

Linux Certification

April, May and June dates


Linux Professional Institute and CompTIA accredited courses: Linux Essentials, LPIC-1 and LPIC-2

Learn More

Service Manager

15-17 May


Professional Cloud Service Manager Certification training - ITIL in the Cloud. Our best-selling cloud course

Learn More


Stay up to date, receive updates on scheduled dates, new courses, offers, and events.

Subscribe to our Newsletter