EIEIOTECHNOVATION
← Training programmes

EIEIO / PROGRAMMING & DEVELOPMENT

Java SE 17 Developer

Course outline

Duration to discuss

By the end of the live online course, you’ll understand:

  • Language features such as switch expressions, sealed classes, and pattern matching
  • Core APIs such as date/time, Stream/parallel Stream, and executor services
  • Tricky, and recently added, features of Java

Prerequisites

  • Working knowledge of Java programming
  • Good familiarity with Java's long-standing features, up to Java 8

Segment 1: Introduction

  • What to expect
  • Study and learning guidance

Segment 2: Scope and declarations

  • Declaring variables using var
  • Primitive and String literals
  • Text blocks

Segment 3: Operators

  • Bitwise operators
  • Logical and short circuit operators

Segment 4: Equality and immutability

  • General equality of primitives and Objects
  • References, reference assignment, and null
  • Equality in core library classes, String, StringBuilder, List, Set, and date/time classes
  • Working with immutable core classes, String and date/time types

Segment 5: Resolving identifiers

  • Resolving variable expressions and methods
  • Implicit and explicit uses of this and classnames
  • Accessing methods and expressions in static contexts

Segment 6: Introduction to Java

  • Conditional statement
  • Looping
  • IO Operations
  • Database CRUD
  • Object-oriented
  • Class and object
  • Inheritance
  • Interface class
  • Polymorphism
  • Small ATM Project

Segment 7: Using instanceof

  • Generalized references and methods available
  • Testing object type with instanceof
  • Casting
  • Pattern matching with instanceof

Segment 8: Many forms of switch/case

  • Colon and arrow forms of case
  • Expression and statement forms of switch

Segment 9: Exceptions

  • Review of try, try with resources, catch, multiple catch blocks, and multi-catch
  • Review of checked vs unchecked exceptions
  • Permitted and required catch clauses
  • AutoCloseable

Segment 10: Working with Methods

  • Argument passing
  • Overloading methods, widening conversions, and method resolution

Segment 11: Advanced type declarations

  • Enumerations
  • Nested, inner, and member classes
  • Record types

Segment 12: Subclassing, overriding, and closures

  • Overriding methods
  • Liskov substitution requirements
  • Accessibility rules for overrides
  • Exception rules for overrides
  • Return type rules for overrides
  • Closures

Segment 13: Interfaces

  • Interface methods
  • Accessibility
  • Abstract, default, static, and private interface methods
  • Resolving default methods

Segment 14: Initializations

  • Static initializers
  • Instance initializers
  • Constructor invocations and constructor invocation order
  • Using this() and super() in constructors
  • Initializing record types

Segment 15: Lambda syntax

  • Declaring block lambdas
  • Declaring expression lambdas
  • Variations of lambda argument syntaxes

Segment 16: Primitive Wrapper Types

  • Primitive wrapper uses
  • Primitive wrapper features

Segment 17: Sealed types

  • Declaring sealed types
  • Subtypes of sealed parents

Segment 18: Resource bundles

  • Selecting a resource bundle
  • Accessing resources in a bundle

Segment 19: Reachability and garbage collection

  • Reachability analysis and eligibility for GC

Segment 20: The Java Platform Module System

  • Java Platform Module System purpose/goals
  • Migration approaches
  • Automatic modules
  • Service provision

Segment 21: Serialization

  • Overview of serialization and the Serializable interface
  • Using object streams
  • Serializing and deserializing objects in a class hierarchy

Segment 22: Key features of the core Java SE libraries

  • Date, time, and timezone operations
  • Arrays and Collections class features
  • Key collections API features

Segment 23: Overview of remaining objectives

  • What to look out for in the objectives not discussed
  • Additional resources and training
  • Additional topics and questions

Segment 24: Java Design Patterns

  • Creational Design Patterns
  • Structural Design Patterns
  • Behavioural Design Patterns

Segment 25: Unit test in Java

  • What is unit test
  • Test Case Naming Convention
  • Expected vs Actual
  • Simple Test Case
  • Specific Unit Tests

Exam Details

Format: Multiple Choice

Duration: 90 Minutes

Number of Questions: 50

Passing Score: 68%

Validation: Exam has been validated for product version Java 17

Programme scope, delivery arrangements and suitability are confirmed during enquiry.