Fast Track to Java 8 Training

  • Learn via: Classroom / Virtual Classroom / Online
  • Duration: 2 Days
  • Price: Please contact for booking options
We can host this training at your preferred location. Contact us!

Java 8 is the most important update to Java since its inception. The limits of the existing language have been exposed by the challenge of multi-core hardware, the industry adoption of functional principles, the continued evolution of C# and the growing adoption of alternative JVM languages like Scala and Clojure.

This new release of Java aims to address these concerns via new language features, enhancements to existing libraries and numerous low level improvements to the JVM itself. Developers can use these enhancements to write shorter, safer applications that are amenable to multi-core devices.

This course enables experienced Java developers to understand the full range of features arriving in Java 8 and to start using them immediately.

Delegates must be proficient in Java 7 with several years of experience developing in industry.

Overview of What’s New

  • The introduction and assimilation of lambdas into Java
  • Functional and parallel support within the code libraries
  • The new Date and Time (JSR 310) and Type Annotation (JSR 308) API’s
  • Many additional libraries and virtual machine enhancements

Working With Lambda Expressions

  • Understanding the concept and purpose of lambdas
  • The various syntax options when declaring lambdas
  • Lexical scoping and ‘effectively final’ variables
  • Method references as shortcuts to lambdas
  • Type inference of parameters in lambdas
  • Best practices when declaring and using lambdas
  • Declaring interfaces to be used with lambdas
  • Making use of the @FunctionalInterface annotation
  • How lambdas are implemented at the bytecode level
  • Limitations of lambdas compared to other languages

Functional Programming With Lambdas, Collections and Streams

  • Introducing the interface
  • Creating streams of objects from collections and via of
  • Using parallel and sequential to switch processing model
  • Performing filtering and mapping on the contents of streams
  • Using reduce to compute a final value from a stream
  • Understanding the purpose and value of flatMap
  • Performing bulk operations on the elements of collections
  • The Optional Monad and Monadic Composition

Other Language Features

  • Default implementations for interface methods (aka Extension Methods)
  • Parallel array sorting using new methods in java.util.Arrays
  • Enhancements to type inference (aka Generalized Target-Type inference)
  • Better support for globalization (Unicode 6.2 and BCP 47 language tags)
  • Scalable thread-safe counters in java.util.concurrent
  • Enhancements to reflection using the javax.lang.model types
  • Standardised support for Base 64 encoding and decoding
  • Programmatic support for working with JavaDoc
  • Improvements in the security libraries
  • Support for unsigned integer arithmetic via static methods

The Date and Time API

  • How JSR310 evolved from the Joda Time library
  • Working with instants, clocks and time zones
  • Performing calculations with dates and times
  • Using adjusters to make common changes to dates
  • Parsing and formatting dates and times
  • Combining the API with legacy code

Enhancements to Annotations

  • Limitations on existing support for annotations
  • How annotating usage enables stronger code contracts
  • Annotating type parameters in generic code
  • Annotating inheritance relationships
  • Annotating exception specifications
  • Annotating calls to new, instanceof and casts
  • Using annotations multiple times on the same type

JVM and JDK Improvements

  • Compact profiles for the JVM
  • How HotSpot merges with JRockit in Java8
  • Why the PermGem region has been removed
  • Retirement of some garbage collection settings
  • Enhancements to the invokedynamic instruction
  • Enhanced control of the Java compiler at runtime
  • The Nashorn JavaScript compiler

Contact us for more detail about our trainings and for all other enquiries!

Upcoming Trainings

Join our public courses in our Istanbul, London and Ankara facilities. Private class trainings will be organized at the location of your preference, according to your schedule.

Classroom / Virtual Classroom
18 June 2024
Istanbul, Ankara, London
2 Days
Classroom / Virtual Classroom
14 July 2024
Istanbul, Ankara, London
2 Days
Classroom / Virtual Classroom
16 July 2024
Istanbul, Ankara, London
2 Days
Classroom / Virtual Classroom
26 July 2024
Istanbul, Ankara, London
2 Days
Classroom / Virtual Classroom
05 August 2024
Istanbul, Ankara, London
2 Days
Classroom / Virtual Classroom
08 August 2024
Istanbul, Ankara, London
2 Days
Classroom / Virtual Classroom
23 August 2024
Istanbul, Ankara, London
2 Days
Classroom / Virtual Classroom
04 September 2024
Istanbul, Ankara, London
2 Days
By using this website you agree to let us use cookies. For further information about our use of cookies, check out our Cookie Policy.