FA-0629Software Development

Intermediate Java

Collections, concurrency, files and a guided application project

Strengthen Java programming through data handling, generics, streams, threads, exceptions and one guided application project.

Introduction

Why this course

This three-day course is for participants who can already write, build and debug Java programs. It develops data conversion, collection processing, object-oriented design, concurrency and file-handling skills through small exercises.

A guided project brings together selected file and database operations, with an introductory web-facing example and assessment. Memory management and web development are covered at appropriate intermediate depth; the course does not claim complete JVM expertise or production deployment readiness.

Learning outcomes

Learning outcomes

The course teaches participants to:

  • Explain object/reference lifetime and the role of garbage collection at introductory JVM level.
  • Use control flow and bounded recursion for suitable data-conversion tasks.
  • Work with collections, generics, lambdas and streams.
  • Identify synchronisation and exception-handling issues in a small threaded example.
  • Use Java file APIs with appropriate resource and error handling.
  • Apply selected database operations in a prepared project.
  • Review an introductory web-facing application and test its behaviour.
Prerequisites

Prerequisites

  • Ability to write Java programs and use a Java IDE.
  • Familiarity with compiling, running, debugging and testing a Java project.
  • Basic understanding of the software-development workflow; no claim to know its entire lifecycle is required.
  • A prepared compatible JDK, IDE, project and disposable database for the selected exercises.
Training outline

3 modules

·
01Day 1 — OOP and Data Processing7 topics
  • Revision of OOP
  • Loops
  • Conditions
  • Recursion: base cases, depth limits and situations where iteration is preferable.
  • Data conversion, including a bounded nested-data example.
  • Primitive and object data handling with explicit conversion checks.
  • Validate and clean a small prepared dataset.

Review object/reference lifetime and garbage-collection concepts in the context of the small examples.

02Day 2 — Collections and Concurrency9 topics
  • Collections
  • Compare lists and arrays, mutability and access patterns.
  • Generics
  • Lambdas and functional interfaces for small tasks.
  • Stream processing and its limitations; do not assume parallel operations improve performance.
  • Threads
  • Multi-threaded programming
  • Synchronisation and shared-state risks in a small example.
  • Executor/task utilities appropriate to the selected JDK.
03Day 3 — Errors, Files and Application Project4 topics
  • Exception Handling
  • Error Handling
  • Exception propagation and failure handling in multithreaded examples.
  • File and directory operations using java.nio.file and related I/O APIs; resource handling and filesystem-specific behaviour.

Guided Project

Extend one prepared application with file processing and selected database operations using sample data; handle resources and errors.

Java for the Web

Review a small web-facing example and connect it to the project where time permits; avoid building a full web framework from scratch.

Assessment

Review the project’s behaviour, explain selected design choices and diagnose a small prepared fault.

A programme built around your team.

Share your training goals and requirements.

Intermediate Java
FA-0629

Share your requirements for this programme.

Training enquiry

Intermediate Java