Java 8 Features – 3 Days

Java 8 Features – 3 Days
Prerequisites:
Developers who are having 4-5 years of real project development experience and already using Java 7.

(It Is mandatory to accomplish the training prerequisite conditions before nominating for the session)

Course Outline:

Day 1:

LambdaExpressions
  • Why Java 8?
  • Behaviour Parameterization
·         More flexible code
·         Anonymous classes
·         What is a lambda?
  • Syntax
·         Functional interfaces: where to use lambda expressions?
·         java.util.function
·         Refactoring/putting together exercise
·         Method references: firstclass
  • Functions in Java 8
  • Method references recipes
·         Type checking
·         Type inference
  • Using local variables Streams
·         Collection Processing
·         What is a Stream?
·         Stream operations and patterns
·         Filtering
  • Mapping
  • Finding and Matching
·         Reducing
·         minBy/maxBy
·         Stream Optimization
·         the reduce pattern
·         Eager vs Lazy
  • Short-circuiting and Loop Fusion Defaultandstaticmethodsoninterfaces
·         Motivation for default methods
  • Static methods in interface
  • Useful default methods
·         Patterns for default methods
  • Resolution rules

Day 2:
  • Collectors
·         Grouping and partitioning
·         Collection Operations
·         Collecting to lists and sets
·         Flexible Collection

  • Arithmetic collectors
·         Max/Min
·         Average/Count/Sum
  • Summary statistics
  • Advanced Queries
·         Beyond grouping and partitioning
  • Downstream collectors Mutable Reduction
·         Extending the reduce pattern
  • Reducing collector Easy DataParallelism
·         What is Data Parallelism?
·         Why is this important?
  • Parallelizing your streams
  • Parallel Gotchas
·         Misuse of reduce
·         Don’t use Locks
·         Danger of mutability
  • Decomposing performance

Day 3:

Date& TimeinJava8
·         The problem with existing date and time libraries
·         New Classes
·         The core classes: LocalDate/LocalTime
  • Creation
  • Enums
·         Clock
·         Period and Duration
·         Temporal Adjusters
·         Instant
·         Time Zones
·         Backwards Compatibility
  • Common API Patterns Optionaldatatypes
  • The problem with null
  • How Optional improves upon null
·         How to use Optional in your code
·         Creating Optional objects
·         Default values and actions
  • Transforming Optionals with map
·         Chaining Optionals with flatMap
  • Rejecting values with filter EnhancedConcurrencywithLambdas
·         Introduction to Concurrency
  • Future and ExecutorService
  • CompletableFutures FunctionalProgrammingin Java8
·         Functions
·         Immutability
  • Concurrency
  • Tail-Call Optimization Miscellaneous
  • Base64
  • Annotations on Java Types
  • Repeating Annotations No MorePermanent Generation Conclusion

Comments

Popular posts from this blog

Cloud Computing in simple

How to Write an Effective Design Document

Bookmark