Course Details
Course duration: 4 days; Instructor-led
This Java SE 8 New Features training delves into the major changes and enhancements in Oracle Java SE 8. You’ll focus on developing an understanding of the basics, then looking at using streams and lambda expressions with collections.
Learn To:
- Work with the new Java Date and Time API.
- Use the Nashorn JavaScript engine.
- Create lambda expressions using the default library interfaces.
- Use new concurrent lambda features.
Audience
Prerequisites
- Experience maintaining a database server (preferably a MySQL server)
- Can use MySQL tools to connect to the MySQL Server
- Have knowledge of general SQL statement structure and basic SQL tuning principles
- Working knowledge of Linux operating systems
Suggested Prerequisites:Â
- MySQL for Database Administrators
- Experience with a MySQL Server instance and MySQL tools
- Experience writing SQL retrieve, insert, modify and delete
- An ability to locate and execute commands on Linux
Methodology
By enrolling in this course, you’ll expand your knowledge of Java SE 8, while building your Java skill set. It wraps up with an overview of Mission Control and Java Flight Recorder, which are now included with JDK 8.
Course Objectives
Upon completion of this program, participants should be able to :
- Create lambda expressions using the default library interfaces
- Create lambda expressions using the proper syntax
- Use new concurrent lambda features
- Use the new Date/Time API
- Use Mission Control and Flight Recorder
- Use the new Nashorn JavaScript Engine
Outlines
Module 1 – Course Introduction
- Reviewing course objectives
- Discussing course format and LVC
- Getting acquainted with instructor and student
- Discussing course topics planned for coverage
- Overview of changes in 8
Module 2 – Introducing Lambda Expressions
- Describing the purpose of an anonymous inner class
- Describing drawbacks to anonymous inner classes
- Describing the components of a lambda expression
- Defining a functional interface
- Creating programs that use lambda expressions
Module 3 – A Case for Lambda Expressions
- Discussing the reasons for adding lambda expressions to the Java language
- Reviewing the standard way of extracting data in Java
- Refactoring code to reduce redundancy
- Refactoring code to use inner classes
- Refactoring code to use lambda expressions
- Listing the benefits of lambda expressions
Module 4 - Filtering Collections with Lambdas
- Iterating though a collection with forEach
- Iterating through a collection using lambda syntax
- Describing the Stream interface
- Filtering a collection using lambda expressions
- Calling an existing method using a method reference
- Chaining multiple methods together
- Comparing function and imperative programming
- Defining pipelines in terms of lambdas and collections
Module 5 - Using Built in Lambda Types
- Listing the built in interfaces included in java.util.function
- Determining true or false with a Predicate
- Processing an object and return nothing with Consumer
- Processing one object and return another with Function
- Generating a new object with Supplier
- Using primitive versions of the base interfaces
- Using binary versions of the base interfaces
Module 6 - Collection Operations with Lambda
- Extracting data from an object using map
- Searching for data using search methods
- Describing the types of stream operations
- Describing the Optional class
- Performing calculations using methods
- Describing lazy processing
- Sorting a stream
- Saving results to a collection using the collect method
Module 7 - Parallel Streams
- Reviewing the key characteristics of streams
- Contrasting old style loop operations with streams
- Describing how to make a stream pipeline execute in parallel
- Listing the key assumptions needed to use a parallel pipeline
- Defining reduction
- Describing why reduction requires an associative function
- Calculating a value using reduce
- Describing the process for decomposing and then merging work
Module 8 - Lambda Cookbook
- Modifying a list using removeIf
- Updating a list using replaceAll
- Updating a map using computeIfAbsent, computerIfPresent, and merge
- Sending the keys and values from a map to a stream
- Reading a file to a stream
- Reading a text file into an ArrayList
- List, walk, and search a directory structure using a stream
- Flattening a stream using flatMap
Module 9 - Method Enhancements
- Considering the importance of building good libraries
- Using static methods in Interfaces
- Using default methods
- Understanding default method inheritance rules
Module 10 - Using the Date/Time API: Working with Local Dates and Times
- Listing the goals of the Date/Time API (JSR-310)
- Creating and manage date-based events
- Creating and manage time-based events
- Combining date and time into a single object
Module 11 - Using the Date/Time API: Working with Local Dates and Times
- Listing the goals of the Date/Time API (JSR-310)
- Creating and manage date-based events
- Creating and manage time-based events
- Combining date and time into a single object
Module 12 - Using the Date/Time API: Working with Time Zones
- Working with dates and times across time-zones and manage changes resulting from daylight savings
Module 13 - Using the Date/Time API: Working with Date and Time Amountse
- Defining and create timestamps, periods and durations
- Applying formatting to local and zoned dates and times
Module 14 - JavaScript on Java with Nashorn: Creating and executing shell scripts
- Creating and execute shell scripts using JavaScript and Nashorn
Module 15 - JavaScript on Java with Nashorn: Writing JavaScript Applicationsitle
- Developing JavaScript applications that leverage Java code using Nashorn
Module 16 - JavaScript on Java with Nashorn: Writing JavaFX Applications Using JavaScript
- Running JavaScript script from Java applications usingJSR-223
- Prototype JavaFX applications using Nashorn and JavaScript
Module 17 - Intro to Mission Control
- Describing JMX and Managed Beans with Mission Control
- Monitoring CPU utilization with Mission Control
- Analyzing JVM characteristics with Mission Control
- Analyzing heap memory with Mission Control
Module 18 - Intro to Flight Recorder
- Describing the Java Flight Recorder
- Describing the Java Flight Recorder Architecture
- Starting a Java Flight Recording
- Managing a Java Flight Recording
- Analyzing a Java Flight Recording