Close
Contact Us info@learnquest.com

??WelcomeName??
??WelcomeName??
« Important Announcement » Contact Us 877-206-0106 | USA Flag
Close
Close
Close
photo

Thank you for your interest in LearnQuest.

Your request is being processed and LearnQuest or a LearnQuest-Authorized Training Provider will be in touch with you shortly.

photo

Thank you for your interest in Private Training.

We look forward to helping you develop the perfect training solution to help you meet your company's goals.

For immediate assistance, speak with one of our representatives using the chat module below. Otherwise, LearnQuest or a LearnQuest-Authorized Training Provider will be in touch with you shortly.

Close
photo

Thank you for your interest in LearnQuest!

Now, you will be able to stay up-to-date on our latest course offerings, promotions, and training discounts. Watch your inbox for upcoming special offers.

title

Date: xxx

Location: xxx

Time: xxx

Price: xxx

Please take a moment to fill out this form. We will get back to you as soon as possible.

All fields marked with an asterisk (*) are mandatory.

Java 8 New Features

Price
1,170 USD
2 Days
EJCJ-590
Classroom Training, Online Training
Oracle

AWS Training Pass

Take advantage of flexible training options with the AWS Training Pass and get Authorized AWS Training for a full year.

Learn More

Prices reflect a 22.5% discount for IBM employees (wherever applicable).
Prices reflect a 24% discount for Kyndryl employees (wherever applicable).
Prices reflect the Accenture employee discount.
Prices shown are the special AWS Partner Prices.
Prices reflect the Capgemini employee discount.
Prices reflect the UPS employee discount.
Prices reflect the ??democompanyname?? employee discount.
GSA Private/Onsite Price: ??gsa-private-price??
For GSA pricing, please go to GSA Advantage.
 

Class Schedule

Delivery Formats

Sort results

Filter Classes

Guaranteed to Run

Modality

Location

Language

Date

  • Date: 3-Feb-2025 to 4-Feb-2025
    Time: 9AM - 5PM US Eastern
    Location: Virtual
    Language: English
    Delivered by: LearnQuest
    Price: 1,170 USD
  • Date: 31-Mar-2025 to 1-Apr-2025
    Time: 9AM - 5PM US Eastern
    Location: Virtual
    Language: English
    Delivered by: LearnQuest
    Price: 1,170 USD
  • Date: 21-Jul-2025 to 22-Jul-2025
    Time: 9AM - 5PM US Eastern
    Location: Virtual
    Language: English
    Delivered by: LearnQuest
    Price: 1,170 USD
  • Date: 15-Sep-2025 to 16-Sep-2025
    Time: 9AM - 5PM US Eastern
    Location: Virtual
    Language: English
    Delivered by: LearnQuest
    Price: 1,170 USD
View Global Schedule

Course Description

Overview

Java 8 introduces a number of revolutionary capabilities - many of them centered on lambda expressions and functional-style programming. These capabilities add powerful new programming techniques to the language, but also add complexity. This concise course is focused on introducing the new capabilities and how to use them. It includes numerous code examples and programming labs that illustrate all of the new capabilities. The course is hands on, and requires that students be comfortable with writing general Java code at an intermediate level, including the use of interfaces. The student kit consists of a student workbook and lab manual. All labs are done within the Eclipse IDE, and the lab instructions include detailed directions on using it.
 

Objectives

Course covers the following areas of Java 8:
  • New interface capabilities
  • Lambda expressions and method references
  • Functional interfaces
  • Java Streams
  • New parallel processing capabilities and the Stream API
  • New Date / Time API

Audience

Java Programmers who need to become familiar with the new features in Java 8.
 

Prerequisites

    The course is hands on, and requires that students be comfortable with writing general Java code at an intermediate level, including the use of interfaces.
     

Topics

Java 8 New Features
  • Workshop Overview
  • Workshop Agenda
  • Typographic Conventions
  • Labs
Session 1: What's New in Interfaces
  • Lesson Objectives
  • Interfaces – Quick Review
  • Interfaces – Example
Default Methods
  • Default Methods
  • Default Methods – Example
  • Motivation and Benefits of Default Methods
  • Motivation and Benefits of Default Methods
  • Inheritance Issues
Static Methods
  • Static Methods
  • Benefits of Static Methods
Functional Interfaces
  • Functional Interface – Defined
  • Functional Interfaces – Details
  • Case Study – Comparator
    • Lab 1.1: Setup, Default Methods, Static Methods
  • Review Questions
Session 2: Lambda Expressions
  • Lesson Objectives
Overview
  • Motivation: Common Actions Are Verbose
  • Too Much Window Dressing
  • Introducing Lambda Expressions
  • Functional Interfaces and Lambdas
  • Lambdas Occur in a Target Context
  • Relationship to Functional Interfaces
Using Lambda Expressions
  • Lambda Expression Syntax – Overview
  • Lambda Compatibility
  • What about the Parameter Types?
  • Lambda Expression Syntax – Details
  • Lambda Expression Syntax – Details
  • What's the Big Deal? Where Do I Use Them?
    • Lab 2.1: Getting Started with Lambdas
Method References
  • Lambdas Can Leverage Existing Code
  • Lambdas and Local Variables
  • Variable Capture in Lambdas – Example
  • Method References
  • Types of Method References
  • Recipes to Use Method References
  • Refactoring Lambdas into Method References
    • Lab 2.2: Method References
  • The Other Side of the Method Call
  • Using a Functional Interface Type – Example
  • Review Questions
Session 3: Streams
  • Lesson Objectives
Overview
  • Collections Are Great...for What They Do
  • Collections Have Shortcomings
  • Analogy: Data vs. DBMS
  • Analogy: Collections = Data, Streams = DBMS
  • Streams – Before and After
  • What Are Streams?
  • Anatomy of a Stream – Details
  • Anatomy of a Stream – Illustrated
  • Streams vs. Collections
  • Stream Example – a First Look
Understanding the Stream API
  • Stream API – Overview
  • Using the Stream API – Illustrated
  • Chained Method Calls – Illustrated
  • Keys to Understanding the API
  • Keys to Understanding the API
  • Java 8 Functional Interfaces
  • Functional Interface: Predicate<T>
  • Functional Interface: Comparator<T>
  • Functional Interface: Function<T,R>
Stream Processing
  • filter(Predicate)
  • sorted() sorted(Comparator)
  • Comparator.comparing() – Details
  • Comparator Methods Added in Java 8
  • Comparator Chaining – Example
    • Lab 3.1: Filtering and Sorting
  • map(Function)
  • map(Function) – Example
  • Functional Interface: Consumer<T>
  • peek(Consumer)
  • 'Trimming' Operations of Stream
  • Terminal Operations of Stream
  • Terminal void Operations – Example
  • Terminal Reduction Operations
  • Terminal Reduction Operations – Example
  • Existence Operations of Stream
  • Finder Operations of Stream
  • Statistics Operations
    • Lab 3.2: Advanced Stream Processing
Collectors
  • Role and Capabilities of Collectors
  • Collectors – Our Approach
  • Collectors.toList() and .toSet()
  • Functional Interface: Supplier<T>
  • Collectors.toCollection()
  • Stream.collect(Collector) Method – Details
  • Collector Interface – Details
  • Determining a Collector's Product
  • Determining a Collector's Product
    • Lab 3.3: Getting Started with Collectors
  • Partitioning and Grouping – Overview
  • Partitioning Collectors
  • Grouping Collectors
    • Lab 3.4: Partitioning and Grouping
  • Reducing and Summarizing Collectors
  • Determining Their Products – Revisited
  • Reducing Collectors Have Two Roles
  • Standalone Reduction Collector – Example
  • Downstream Reduction Collector – Example
  • Downstream Reduction Collector – Example
  • mapping() Collector
  • joining() Collector
  • Building a Custom Map
  • Other Uses for Downstream Collectors
    • Lab 3.5: Reducing and Summarizing
  • Review Questions
Session 4: Parallel Processing and Concurrency
  • Lesson Objectives
Overview
  • Parallelism – Overview
  • Sequential Processing – Illustrated
  • Parallel Processing – Illustrated
  • Java 8 Parallel Processing
  • Stream Parallel Processing – Example
  • Enabling Parallel Processing
    • Lab 4.1: Simple Parallel Processing
Mechanisms and Guidelines
  • parallel() and sequential() – Details
  • Parallel Streams Use Fork/Join
  • Fork/Join – Illustrated
  • Parallel Processing – Ground Rules
  • Parallel Processing – Ground Rules
  • Parallel Processing – Guidelines
  • Parallel Processing – Guidelines
  • Parallel Processing – Guidelines
    • Lab 4.2: Looking at Performance
Multithreading Issues
  • Overview of Multithreading
  • Singlethreaded / Sequential Example
  • Multithreaded / Parallel Example
  • Race Conditions
  • Data Synchronization
  • Using a Mutex
  • Parallel Streams and Shared Mutable State
    • Lab 4.3: Data Integrity
  • Review Questions
Session 5: Date and Time API
  • Lesson Objectives
Overview
  • Previous Java Date/Time Support – History
  • Java 8 Date/Time Support – Overview
  • How We'll Cover the API
Dates, Times, and Instants
  • Date and Time Classes – Overview
  • Creating Dates and Times
  • Creating Dates and Times – now() and of()
  • Creating Dates and Times – parse()
  • Formatting Dates and Times – format()
  • Accessing Date and Time Fields
  • Accessing Date and Time Fields – getXXX()
  • Accessing Date and Time Fields – get()
  • Comparing Instances
    • Lab 5.1: Working with Dates and Times
  • Deriving New Values
  • Deriving New Values – withXXX()
  • Deriving New Values – with()
  • Adding and Subtracting
  • Adding / Subtracting – plusXXX()/minusXXX()
  • Adding and Subtracting – plus() / minus()
  • Instant
  • Time-Zones
  • ZonedDateTime
  • Determining 'Equivalent' Local Time
    • Lab 5.2: Deriving New Values
Periods and Durations
  • Intervals of Time – Period and Duration
  • Interval between Two Dates/Times
  • Creating Custom Intervals
  • Adding an Interval to a Date/Time
  • Adding and Subtracting Intervals – Example
    • Lab 5.3: Periods and Durations
  • Review Questions
Session 6: Other Capabilities
  • Compact Profiles
  • Optional<T> – a Deeper Look
  • Repeatable Annotations
  • Type Annotations
  • Nashorn JavaScript Engine
  • Other Additions / Improvements
  • Deprecated Features
Recap
  • Recap of What We've Done
  • Resources
Top 20 Training Industry Company - IT Training

Need Help?

Call us at 877-206-0106 or e-mail us at info@learnquest.com

Personalized Solutions

Need a personalized solution for your Training? Contact us, and one of our training advisors will help you find the best solution.

Contact Us

Need Help?

Do you have a question about the courses, instruction, or materials covered? Do you need help finding which course is best for you? We are here to help!

Talk to us

LearnPass Year-End Offer

Get Up to 25% Additional Training Funds Before the Year Ends!

Act Now

Self-Paced Training Info

Learn at your own pace with anytime, anywhere training

  • Same in-demand topics as instructor-led public and private classes.
  • Standalone learning or supplemental reinforcement.
  • e-Learning content varies by course and technology.
  • View the Self-Paced version of this outline and what is included in the SPVC course.
  • Learn more about e-Learning

Course Added To Shopping Cart

bla

bla

bla

bla

bla

bla

Self-Paced Training Terms & Conditions

??spvc-wbt-warning??

Exam Terms & Conditions

??exam-warning??
??group-training-form-area??
??how-can-we-help-you-area??
??personalized-form-area??
??request-quote-area??

Sorry, there are no classes that meet your criteria.

Please contact us to schedule a class.
Close

self-paced
STOP! Before You Leave

Save 0% on this course!

Take advantage of our online-only offer & save 0% on any course !

Promo Code skip0 will be applied to your registration

Close
Nothing yet
here's the message from the cart

To view the cart, you can click "View Cart" on the right side of the heading on each page
Add to cart clicker.

Purchase Information

??elearning-coursenumber?? ??coursename??
View Cart

title

Date: xxx

Location: xxx

Time: xxx

Price: xxx

Please take a moment to fill out this form. We will get back to you as soon as possible.

All fields marked with an asterisk (*) are mandatory.

If you would like to request a quote for 5 or more students, please contact CustomerService@learnquest.com to be assigned an account representative.

Need more Information?

Speak with our training specialists to continue your learning journey.

 

Delivery Formats

Close

By submitting this form, I agree to LearnQuest's Terms and Conditions

heres the new schedule
This website uses third-party profiling cookies to provide services in line with the preferences you reveal while browsing the Website. By continuing to browse this Website, you consent to the use of these cookies. If you wish to object such processing, please read the instructions described in our Privacy Policy.
Your use of this LearnQuest site affirms your consent to our use of session and persistent cookies to track how you use our website.