Whats New in Java 8

Java 8 is a major evolution in the Java programming language and platform. The language has been expanded dramatically to support lambda expressions, functional programming styles, and enhanced performance. The Java libraries have been extended significantly to take advantage of these new language features, and to offer many improvements in areas such as concurrency, security, and JavaScript integration. This course takes a detailed look at all these new features, with extensive examples and hands-on exercises using the latest development tools.

What you will learn:

  • Using lambda expressions
  • Understanding method and constructor references
  • Defining and using functional interfaces
  • Using sequential and parallel streams
  • Using the enhanced concurrency and collection APIs
  • Understanding Java 8 security features
  • Understanding additional API and language improvements

Audience:

Java developers and designers who are looking to adopt Java 8 and see what it has to offer.

Prerequisites:

Good experience in Java SE 7

Course outline:

  • Setting the scene: What is Java 8; Where can I get it; What tools are available
  • Lambda expressions: What are lambda expressions; Formal syntax for lambda expressions; Lambda expression simple syntax; Lambda expressions that return a value; Lambda expressions with multiple arguments; Lambda expressions and scope; Common usage scenarios
  • Method enhancements: Method references; Constructor references; Default methods; Static methods in Interfaces
  • Functional interfaces: Function; UnaryOperator; BiFunction; BinaryOperator; Predicate; Consumer; Supplier; Additional new functional interfaces
  • Streams: Sequential vs. parallel streams; Immediate vs. terminal operations; Stream example; Lazy evaluation; A closer look at immediate and terminal operations; Primitive-specialized streams
  • Enhanced collections API: Iteration; New methods in List; New methods in Map; Parallel array Processing
  • Enhanced concurrency API: ConcurrentHashMap; CompletableFuture; CountedCompleter; Adders and accumulators; Additional new features
  • Additional Java 8 Features: Unsigned arithmetic; New date/time API; Base64 encoding and decoding; Annotation changes; Miscellaneous new features
  • Java 8 Security Features: Overview; Privilege checking; Keystore enhancements; Cryptography enhancements
  • Nashorn JavaScript Engine: Getting started with Nashorn; Accessing Java classes in JavaScript; Additional techniques

Andy Olsen - author of the course

Andy is a freelance consultant and instructor based in the UK, working mostly in the City of London and Oxford. Andy has been working with .NET since the Beta 1 days and has extensive experience in many facets of .NET development including WCF, WPF, WF, ASP.NET MVC Web development, and mobile applications. Andy has designed and written many Microsoft Official Curriculum courses in the last decade, and has been engaged as author and technical reviewer with Apress on some of their biggest selling books.

Other relevant courses