Course Outline

Introduction to Java

  • History and evolution of Java
  • Overview of Java versions and updates
  • What’s new in Java 17
  • Setting up Java Development Kit (JDK 17) and IDE

Java Program Structure

  • Writing a simple Java program
  • Java syntax overview
  • Compiling and running Java applications

Data Types and Variables

  • Primitive data types and wrapper classes
  • Declaring variables and constants
  • Type conversion and casting

Operators in Java

  • Arithmetic, relational, logical, and bitwise operators
  • Operator precedence and associativity

Control Flow Statements

  • Conditional statements (if-else, switch)
  • Looping constructs (for, while, do-while)
  • Enhanced switch expressions (Java 17 feature)

Introduction to OOP Concepts

  • Classes and Objects
  • Encapsulation, Inheritance, Polymorphism, and Abstraction

Creating Classes and Objects

  • Declaring and initializing objects
  • The this keyword
  • Constructors (default and parameterized)

Inheritance

  • Extending classes (extends keyword)
  • Method overriding and super keyword
  • Abstract classes and methods

Polymorphism

  • Compile-time vs. runtime polymorphism
  • Method overloading and overriding

Interfaces

  • Defining and implementing interfaces
  • Functional interfaces and default methods

Record Classes (Java 17 feature)

  • Understanding records in Java 17
  • How records simplify data encapsulation

Generics in Java

  • Understanding type parameters
  • Generic classes, methods, and interfaces
  • Bounded types and wildcards

Exception Handling

  • Types of exceptions (checked and unchecked)
  • Try-catch-finally blocks
  • Throwing and catching exceptions
  • Creating custom exceptions

Java Collections Framework

  • List, Set, Map, and Queue interfaces
  • Popular implementations: ArrayList, HashMap, HashSet
  • Iterators and enhanced for loops

Lambda Expressions and Functional Programming

  • Introduction to lambda expressions
  • Syntax and usage
  • Functional interfaces

Stream API

  • Overview of Java Streams
  • Stream operations (filtering, mapping, reducing)
  • Parallel streams and performance considerations

Sealed Classes

  • Defining and using sealed classes
  • Permitted subclasses and restrictions

Pattern Matching for instanceof (Java 17 feature)

  • Simplifying type checks with pattern matching

Text Blocks

  • Working with multi-line text blocks in Java
  • Comparison with traditional string handling

Records and Serialization Improvements

  • Serialization and backward compatibility
  • How records enhance code readability and maintenance

Deprecation and Removal of Features

  • Deprecated APIs in Java 17
  • Removal of outdated features

Switch Expression Enhancements

  • Pattern matching in switch
  • Using switch expressions for cleaner code

Foreign Function & Memory API (Incubator)

  • Overview of the incubator module
  • Working with native code in Java

Java Module System (Project Jigsaw)

  • Introduction to modules in Java
  • Creating and using modules
  • Module descriptors and module-info.java
  • Advantages of modularization

Concurrency and Multithreading

  • Introduction to threads and multithreading
  • Runnable interface and Callable interface
  • Synchronization, locks, and thread safety

Asynchronous Programming with CompetableFuture

  • Writing asynchronous code
  • Using CompetableFuture for non-blocking operations

Deploying Java Applications

  • Creating and executing JAR files
  • Packaging and distributing Java applications
  • Introduction to GraalVM (optional)

Best Practices and Code Optimization

  • Writing efficient and maintainable Java code
  • Common performance pitfalls and how to avoid them
  • Code refactoring techniques

Summary and Next Steps

Requirements

  • Basic knowledge in programming

Audience

  • Software developers
  • Programmers
 35 Hours

Delivery Options

Private Group Training

Our identity is rooted in delivering exactly what our clients need.

  • Pre-course call with your trainer
  • Customisation of the learning experience to achieve your goals -
    • Bespoke outlines
    • Practical hands-on exercises containing data / scenarios recognisable to the learners
  • Training scheduled on a date of your choice
  • Delivered online, onsite/classroom or hybrid by experts sharing real world experience

Private Group Prices RRP from €11400 online delivery, based on a group of 2 delegates, €3600 per additional delegate (excludes any certification / exam costs). We recommend a maximum group size of 12 for most learning events.

Contact us for an exact quote and to hear our latest promotions


Public Training

Please see our public courses

Provisional Upcoming Courses (Contact Us For More Information)

Related Categories