Java Advanced pushes experienced developers deep into the language’s most powerful features, taught in either Java 8 or 9, across two intensive, hands-on days. Day one focuses on functional programming, opening with lambda functions. Attendees learn the syntax that lets developers pass behavior as data instead of writing verbose anonymous classes. From there, attendees compose higher order functions that accept or return other functions. They then apply method references as a shorthand for lambdas that simply call an existing method. The day closes with functional interfaces such as Function, Predicate, Supplier, and Consumer. These are the building blocks the Streams API and other modern libraries rely on.
Day two shifts to advanced language mechanics. The concurrency module covers threads, the synchronized keyword, locks, and the executor framework used to manage thread pools safely. Attendees then turn to annotations, examining how metadata drives frameworks and compile-time checks, and how custom annotations are defined, retained, and processed through reflection. The memory management module digs into the JVM heap, generational garbage collection, and the tuning flags that keep long-running applications responsive. Attendees practice reading GC logs and adjusting heap sizing. The course closes with the Nashorn scripting engine, where attendees see how JavaScript can run and interoperate with Java code inside the JVM.
Eight modules structure the course, and each one pairs with a hands-on coding lab that reinforces the concepts just covered. Attendees leave with a broad, practical command of advanced language features they can put to work right away.
Who Should Attend
Developers, QA Staff, Technical Managers, DevOps and Build personnel
What Attendees Will Learn
Upon completing Java Advanced, attendees will be able to:
- Construct and use Lambda functions in Java
- Compose higher order functions and use method references
- Apply functional interfaces in Java applications
- Apply Java concurrency and synchronization techniques
- Use Java annotations effectively
- Manage Java memory and tune heap performance
- Work with the Nashorn scripting engine
Prerequisites
Prior Java coding experience is required.