4D Training & Consultancy

Software Development

Java Programming Fundamentals

A hands-on introduction to modern Java for developers who need to write production code on Java 17 or 21. Participants work through types, collections, generics, exceptions, streams, Optional, and records until they can read and extend an existing codebase without guessing.

5 daysIn-house, online, or customized deliveryCorporate teams and professional groupsLevel: Foundation

Overview

Practical learning for workplace transfer.

Teams that learn Java from scattered tutorials usually end up writing Java 7 inside a Java 21 runtime: mutable data everywhere, null checks spread through business logic, hand-written loops where a stream belongs, and a build that only works on one machine. This course closes that gap by teaching the language as it is written today. Participants begin with the type system and object model, move through collections, generics and error handling, then finish with records, sealed types, pattern matching and stream pipelines applied to real data-shaping tasks inside a Maven project.

Prerequisites

Basic programming experience in any language. No prior Java knowledge is assumed.

Objectives

  • Write, build, and run modern Java applications at the Java 21 language level using Maven.
  • Apply the type system, generics, and the collections framework to model data correctly.
  • Handle failure with checked and unchecked exceptions, try-with-resources, and clear contracts.
  • Transform data with lambdas, stream pipelines, and Optional instead of defensive null checks.
  • Model immutable domain data with records, sealed types, and pattern matching in switch.
  • Structure a Java project into packages and testable units a team can maintain over years.

Target audience

  • Developers moving to Java from another programming language
  • Junior software engineers joining an existing Java codebase
  • Graduate and trainee engineers on an enterprise onboarding track
  • Automation and test engineers who need to read and extend Java code
  • Integration engineers working with Java-based enterprise platforms
  • Technical support engineers who debug Java applications in the field

Program outline

A clear structure for the learning journey.

Outline points are grouped in one designed block instead of being treated as separate module cards.

6modules24topics
  1. 01The Java Platform and a Modern Project Setup4 topics
    • JDK, JVM, and bytecode: what actually runs when a Java program starts
    • The Java 17 and 21 LTS releases and the features each one made standard
    • Maven project layout, dependency scopes, and a build anyone can reproduce
    • Running, packaging, and debugging from both the IDE and the command line
  2. 02Types, Objects, and the Class Model4 topics
    • Primitives, wrappers, references, and the hidden cost of autoboxing
    • Classes, constructors, fields, and encapsulation that holds under change
    • Interfaces, abstract classes, and default methods compared in practice
    • Writing equals, hashCode, and toString correctly and consistently
    • List, Set, Map, and Deque chosen by access pattern rather than by habit
    • Generics, type parameters, and bounded wildcards in everyday code
    • Immutable collections, defensive copying, and safe sharing between threads
    • Comparators, sorting, and the iteration-order guarantees each type makes
    • Checked versus unchecked exceptions and what each one communicates to a caller
    • try-with-resources and deterministic cleanup of files, streams, and connections
    • Designing exception types that carry usable diagnostic context
    • Logging, stack traces, and what should never appear inside a catch block
    • Lambdas, method references, and the standard functional interfaces
    • Stream pipelines: filter, map, flatMap, and the collectors teams actually need
    • Optional used as a return contract, never as a field or a parameter
    • When an ordinary loop is clearer, faster, and easier to debug than a stream
    • Records as immutable data carriers and the members the compiler generates
    • Sealed interfaces that make a domain's variants explicit and exhaustive
    • Pattern matching in instanceof and switch, including record patterns
    • Closing exercise: refactoring a small service to modern Java end to end

Materials provided

  • Course workbook, annotated code samples, and reference notes
  • Hands-on lab environment and starter repositories
  • Exercises, checklists, and reusable code templates
  • 4D Certificate of Completion
  • Post-course technical guidance

Training Options

Programs can be delivered in-house, online, or in a blended format depending on your team's schedule, location, and learning objectives. When an external certificate or exam is included, certification rules and fees remain under the relevant awarding body's policies, while 4D provides the training and preparation support.

Why choose 4D

4D teaches Java on the release your team actually runs, with your build tooling and a codebase shaped like the one participants return to. Trainers are practising Java engineers, so the exercises target the review comments and maintenance problems that follow beginners into production rather than isolated syntax drills.

Speak to 4D

Plan the right training or consultancy path for your team.

Share a few details and 4D will help route your inquiry toward corporate training, consultancy, assessment, Phoenix-enabled support, or a tailored program.