Modules
Take single modules or the whole track. Two hour sessions, combined into half days where it suits your calendar.
Java and the JVM
The Java landscape, the JVM and bytecode basics for newcomers.
- The Java landscape
- JVM and bytecode basics
- JAR, WAR and EAR, and the module system
- Garbage collection and classloading at a glance
Java Language Basics
Types, control flow and methods for developers new to Java.
- Types, literals and arrays
- Choices and looping
- Methods in depth including recursion
- Console I/O and first programs
Object-Oriented Java
Classes, inheritance, interfaces and the equals/hashCode contract.
- Classes, constructors and inheritance
- Interfaces and abstraction
- equals and hashCode done correctly
- Enumerations and annotations
Functional Java and the Collections API
Lambdas, method references, streams and the modern Collections API.
- Method references and lambdas
- The Collections API
- Streams and functional collections
- Optional and parallel streams
Generics, Dates and Robust Java
Generics, the modern Date/Time API and disciplined exception handling.
- Generics in depth
- Exception handling done well
- The Date/Time API (JSR-310)
- Writing robust, idiomatic Java
Testing Java: TDD and BDD
JUnit, Mockito and Cucumber for test-first and behaviour-driven Java.
- TDD with JUnit and Mockito
- BDD with Cucumber
- Gherkin syntax and step definitions
- Building confidence in your code
Advanced Java: Concurrency and Performance
Parallel streams, thread-friendly collections and JMH benchmarking.
- Parallel programming with streams
- Thread-friendly collections and fork/join
- JMH benchmarking
- Generics deep dive
Advanced Java: Patterns and the Ecosystem
OO design patterns, DSLs, Gradle and the wider JVM language landscape.
- OO design patterns in Java
- DSLs and fluent interfaces
- Gradle build automation
- A survey of Scala, Clojure and Kotlin
Teams Often Pair This With
Related modules other teams add alongside this track.
Testing Fundamentals for Developers
Programmer testing versus debugging, and the xUnit family of tools.
View module Engineering Practice · Engineering Best PracticesDesign Principles and Patterns
SOLID, CUPID, GRASP and the trade-offs behind coupling and cohesion.
View moduleEnquire About This Training
Tell us which modules interest you and we will propose a plan within 24 hours. Choosing Enquire on a module above fills in the subject for you. Add more than one if you like.