Public Sector

We've had the pleasure of working with UK and overseas central and local government departments, including Healthcare (NHS and Foundation Trusts), Defence, Education (Universities and colleges), many of the main Civil Service departments, Emergency Services; also public-owned corporations including the BBC, Bank of England, Ordnance Survey, and regulatory bodies such as Ofgem.

We are registered on Crown Commercial Service’s (CCS) Dynamic Purchasing System (RM6219 Training and Learning) and also with numerous tender portals such as Ariba, Coupa and Delta E-Sourcing.

Read more...

Graduate Training Schemes

Framework Training has a strong track record of providing a solid introduction into the working world for technical graduates across myriad industries. We provide the opportunity to learn and gain valuable hands-on experience in a supportive, friendly and sociable training environment.

Attract & retain the brightest new starters

We know it is vital for our clients to invest in the future of their talented grads; not only to provide them with high-quality, professional training essential for their roles, but to embed them within the organisation’s culture and guide them on the right path to a successful career.

After all, your new hires could well be the next leaders and their creative ideas and unique insights are invaluable to your business.

Read more ...

Learning & Development

Our unique portfolio of high-quality technical courses and training programmes are industry-respected. They’re carefully designed so that delegates can seamlessly apply what they’ve learnt back in the workplace. Our team of domain experts, trainers, and support teams know our field — and all things tech — inside out, and we work hard to keep ourselves up to speed with the latest innovations. 

We’re proud to develop and deliver innovative learning solutions that actually work and make a tangible difference to your people and your business, driving through positive lasting change. Our training courses and programmes are human-centred. Everything we do is underpinned by our commitment to continuous improvement and learning and generally making things much better.

Read more...

Corporate & Volume Pricing

Whether you are looking to book multiple places on public scheduled courses (attended remotely or in our training centres in London) or planning private courses for a team within your organisation, we will be happy to discuss preferential pricing which maximise your staff education budget.

Enquire today about:

  • Training programme pricing models  

  • Multi-course voucher schemes

Read more...

Custom Learning Paths

We understand that your team training needs don't always fit into a "one size fits all" mould, and we're very happy to explore ways in which we can tailor a bespoke learning path to fit your learning needs.

Find out about how we can customise everything from short overviews, intensive workshops, and wider training programmes that give you coverage of the most relevant topics based on what your staff need to excel in their roles.

Read more...

Java Training Course

Build Real-World Applications with Modern Java.

Book or reserve a space

About the course

Mastering modern Java is fundamental for building the robust and efficient applications needed in today's technology landscape. This comprehensive Java training course is meticulously designed to provide you with the core language skills and contemporary programming techniques required to develop professional, commercial-quality Java applications.

Starting with the foundational syntax, data types, and control structures, you will rapidly move on to mastering Object-Oriented Programming principles, including classes, objects, inheritance, interfaces, and abstract classes. The course then delves into essential modern Java features such as Records, Sealed Types, the Java Module System (JPMS), and the powerful concepts of functional programming, including Lambdas and the Streams API.

Learning is reinforced through extensive hands-on exercises integrated throughout the course, ensuring you gain practical experience with every topic. You will work effectively with the Collections Framework, handle errors and exceptions gracefully, understand file I/O, and be introduced to crucial development practices like using build tools and writing unit tests.

Guided by an expert Java instructor, you will gain the practical skills and confidence to apply these techniques to real-world development scenarios, enabling you to write cleaner, more efficient, and maintainable Java code for commercial applications.

Instructor-led online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.

    • Write clean, efficient Java code using modern language features and syntax.
    • Apply Object-Oriented Programming (OOP) principles to design and structure Java applications effectively.
    • Utilise functional programming constructs, including Lambdas and the Streams API.
    • Work effectively with the Java Collections Framework and modern data structures like Records.
    • Design and build applications using the Java Platform Module System (JPMS).
    • Implement robust error handling and exception management in your code.
    • Use build tools such as Maven or Gradle for project management and dependency handling.
    • Write and execute basic unit tests using JUnit to ensure code quality.
    • Build maintainable and well-structured Java applications suitable for real-world scenarios.
  • This course is designed for anyone looking to build a strong foundation in modern Java programming. It is ideal for:

    • Individuals who are new to programming and wish to start with Java.

    • Developers experienced in other programming languages who want to learn Java.

    • Existing Java developers seeking to refresh their core skills and get up to speed with modern Java features.

    • Those preparing for further specialisation in areas like enterprise development, mobile applications, or data science using Java.

  • Delegates will ideally have some previous programming experience in another language such as Python, JavaScript, Perl, PHP, C# or C++. No previous Object-Oriented Programming is assumed but would certainly be helpful.

    Please let us know if you have any questions about getting started with Java - we can customise the training to match your team's experience and needs - with more time and coverage of fundamentals for new developers, or a swifter pace for experienced coders.

  • This Java course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).

    Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.

  • Java Overview

    • Current Release Plan and Recent History (LTS releases: Java 11, 17, 21, etc., and the release cadence)

    • How the Java Environment Works (JVM, JRE, JDK)

    • HelloWorld Program

    • Launch Single-File Source Code (Java 11+)

    • jShell REPL (Java 9+)

    • Comments and Terminators

    • Identifiers

    Syntax, Types, and Operators

    • Java Variables and Data Types (Primitive and Reference Types)

    • var declarations (Local-Variable Type Inference - Java 10+)

    • Text Blocks (Java 15+)

    • String interpolation / String Templates (Preview/Incubating in recent versions - mention current status)

    • Numerical Operators and Casting

    • Conditional Expressions and Logical Operators

    • Control Flow Statements (if, while, do-while, for)

    • Special flow of control operators (break, continue)

    • The switch statement (Traditional and Updated switch expressions/statements - Java 14+)

    • Pattern Matching for instanceof (Java 14+)

    • Pattern Matching in switch statements (Java 17+)

    Classes and Objects

    • What is an Object? Objects and Encapsulation

    • What is a Class? Class-Object Relationship

    • Defining Classes and Instance Variables

    • Constructors (Defining and Overloading)

    • Working with Objects

    • The toString() method

    • Adding behaviour with Methods

    • Static Members (Class Side Data and Behaviour)

    • The final Keyword

    Working with Methods

    • Method Definitions, Arguments, and Return Types

    • Overloading Methods

    • Method Invocations

    • Constructors Versus Methods (Revisited)

    • Method References (Revisited in Functional Programming context)

    Class Inheritance

    • Inheritance in Java

    • Implementing Inheritance (extends)

    • Rules for Overriding Methods (@Override)

    • Rules for Polymorphic Variables

    • Casting and Inheritance

    • The super Keyword

    • Constructors and Inheritance

    Abstract Classes, Interfaces, and Sealed Types

    • Abstract Classes (Defining, Extending, Using)

    • Java Interfaces (Basic Definitions, Implementing, Default and Static Methods - Java 8+)

    • Using Interfaces as Contracts

    • Inheritance by Interfaces and Types (Multiple Interface Inheritance)

    • Sealed Types (Classes and Interfaces - Java 15+)

    • Purpose of sealed types, defining and extending/implementing sealed types.

    • Constraints on sealed subclasses, subclasses in the same file, records as subclasses.

    Records

    • Traditional Class Definition vs. Record Version (Java 14+)

    • Defining Record Classes

    • Instantiating Records

    • Automatic methods (equals(), hashCode(), toString(), accessors)

    • Overriding auto-generated methods

    • Adding static data and behaviour to Records

    • Other features of Records (Annotations, Local Records - Java 16+)

    Packages and Modules

    • Packages (Declaring, Class-Package Relationship, Classpath, JAR Files)

    • Encapsulation and Access Modifiers (Class, Constructor, Variable, Method modifiers)

    • Introduction to the Java Platform Module System (JPMS - Java 9+)

    • Why we need modules, looking at what modules are

    • How to define a module (module-info.java)

    • Creating single and multiple module applications

    • Linking Modules

    Arrays and the Collections Framework

    • What is a Java Array? Creating and Accessing Arrays

    • main method args array

    • Ragged Arrays

    • Implications of Inheritance for Arrays

    • The Collections API Overview

    • Key Collection Interfaces and Classes (List, Set, Map, ArrayList, HashMap, etc.)

    • Iteration and Enumeration

    • Generics and Collections (Adding Generics to classes, Type Equality, Generic Collection Assignment, Generics and Inheritance with Collections)

    • For Loops (Enhanced for loop)

    • Boxing and Unboxing (Autoboxing/Unboxing)

    • Raw Collections (Why to avoid them)

    • Java 9+ Immutable Collections (Factory methods List.of(), Set.of(), Map.of(), etc.)

    Error and Exception Handling

    • Errors & Exceptions Overview

    • Exception types in Java (Checked, Unchecked, Errors)

    • The Exception Hierarchy

    • Exception Handling (try, catch, finally)

    • Local Handling and Passing the Buck

    • Try-with-Resources (Java 7+)

    • Defining New Exceptions

    • Chained Exceptions

    Nested and Inner Classes

    • Four types of Nested/Inner Classes

    • Properties of Member-level, Method-local, Anonymous, and Static Nested Classes

    • Java 11 Nest-based Access

    Functional Programming in Java

    • Functional Programming Concepts

    • Functional Interfaces (@FunctionalInterface)

    • Using Built-in Functional Interfaces (Predicate, Consumer, Supplier, Function)

    • Lambdas in Java (Syntax, Using Lambdas)

    • Closing / Capturing Variables (Closures)

    • Returning Functions, Higher-Order Functions

    • Method References

    The Java Optional Type

    • The Problem with Null (NullPointerException)

    • Introduction to the Optional Type (Java 8+)

    • Creating Optional Values

    • Working with Optional (Checking presence, Getting values, Providing defaults, Chaining operations)

    • Method Summary

    Java Streams API

    • What are Streams? (Java 8+)

    • Streams from Collections and other sources

    • Intermediate vs. Terminal Operations

    • Common Intermediate Operations (map, filter, sorted, distinct, peek, limit, skip)

    • Common Terminal Operations (forEach, collect, reduce, count, min, max, anyMatch, allMatch, noneMatch, findFirst, findAny)

    • Using Collectors (toList, toSet, toMap, groupingBy, partitioningBy)

    • Pipelining Stream Operations

    • Parallel Streams (Introduction and considerations)

    • Streams for I/O operations (Files.lines())

    Files, Paths, and I/O Streams

    • Introduction to NIO.2 (Java 7+)

    • The Path Interface and Paths Class

    • The Files Class (Working with files and directories)

    • File Attributes

    • The File Watcher Service (Monitoring directory changes)

    • Traditional I/O Streams (Input Streams, Output Streams, Readers, Writers)

    • Using Scanner for input

    Introduction to Build Tools

    • Why use a build tool? (Dependency Management, Building, Testing, Packaging)

    • Overview of Apache Maven and Gradle

    • Setting up a simple project with Maven or Gradle

    • Managing dependencies

    Introduction to Unit Testing

    • The importance of Unit Testing

    • Introduction to JUnit (Using JUnit 5)

    • Writing and running simple test methods

    • Assertions

Trusted by

Amadeus Services company logo Crown Commercial Service Supplier (CCS) logo

Public Courses Dates and Rates

December 15th, 2025 - £2295
March 16th, 2026 - £2295
June 22nd, 2026 - £2295

All prices are excluding VAT.

If our published dates don't work for you, please get in touch — we are happy to explore scheduling additional courses.

Book or reserve a space

Secure or reserve a space on a public scheduled course date.

Related courses