Advanced Java 8 Programming (TT3100-J8) Course Details:

In this course, you will explore specific advanced programming APIs and techniques including working with Collections, Java Virtual Machine (JVM), Dependency Injection, Reflection, Authentication and much more.

    No classes are currenty scheduled for this course.

    Call (919) 283-1653 to get a class scheduled online or in your area!

1. Introduction to Lambda Expressions

  • Functional Programming
  • Lambda Expressions and Functional Interfaces

2. Streams

  • Introduction to Streams
  • The Streams API
  • Collections and Collectors

3. Additional Java 8 Enhancements

  • Evolving Interfaces
  • Optional
  • Java 8 Concurrency updates
  • Nashorn JavaScript Engine

4. Best Practices and Performance

5. Java Virtual Machine

  • Architecture of the JVM
  • Application Execution
  • Reflection
  • Reference Objects

6. Effective Java

  • Creating and Destroying Objects
  • Factory Methods
  • Impact of Finalizers
  • Classes and Interfaces
  • Immutability
  • Composition vs. Inheritance
  • Exceptions
  • Threading Constructs to Avoid
  • Performance and Java 8

7. Dependency Injection (DI) in Java and JEE

  • Introduction to DI and CDI
  • Using CDI
  • CDI and Java EE

8. Java API for WebSocket

  • Introduction to WebSocket
  • Implementing WebSocket Endpoints
  • WebSocket in Java EE

9. Java Bean Validation (JSR 349)

  • Introduction to Bean Validation
  • Bean Validation

10. Additional Topics (Optional)

  • Java I/O
  • Packaging Applications
  • Internationalization

*Please Note: Course Outline is subject to change without notice. Exact course outline will be provided at time of registration.
  • Functional programming means and what it brings to the table
  • How Lambda expressions and functional interfaces can greatly enhance other aspects of Java
  • Use the new Stream constructs to work with Collections and Collectors
  • Work with default methods and pass methods as arguments
  • Use the new features to support concurrency in multi-code systems
  • Work with the JavaScript engine Nashorn
  • Java Virtual Machine(JVM)
  • How to structure and the advantages of jar files
  • Work with tools to package applications
  • Authenticate packaged Java applications
  • How reflection can be implemented
  • Work Java and JEE's version of dependency injection (CDI)
  • Work with WebSockets
  • Use Java Bean validation
  • Understand and implement Internationalization and Localization techniques

This course is about 50% hands-on lab and 50% lecture. Throughout the course, students will be led through a series of progressively advanced topics, where each topic consists of lecture, group discussion, comprehensive hands-on lab exercises, and lab review. Multiple detailed lab exercises are laced throughout the course, designed to reinforce fundamental skills and concepts learned in the lessons.

Experienced Java developers who want to take their core Java skills and bring them to an advanced level.

Ready to Jumpstart Your IT Career?