Advanced Java

Advanced Java training covering interfaces, collections, lambda expressions, streams, I/O, multithreading, concurrency, and JVM performance tuning through practical programming exercises and hands-on labs.

Course Overview

The Advanced Java (Hands-on) course is designed for programmers with prior knowledge of Java who want to develop their understanding of advanced Java programming concepts and application development techniques. The course covers Java platform fundamentals, interfaces, packages, exception handling, collections, lambda expressions, functional interfaces, and the Java Streams API.

Participants will explore Java I/O operations, object serialization, multithreading, concurrency, and Java performance tuning. The training includes practical programming exercises covering thread synchronization, executor services, file handling, stream processing, and memory management. The curriculum also introduces JVM memory concepts, garbage collection strategies, thread dumps, heap dumps, and performance analysis using VisualVM.

Course Objective

  • Understand the Java platform architecture and platform independence.
  • Implement Java interfaces, inheritance, and default methods.
  • Create and manage Java packages and configure classpaths.
  • Apply exception handling techniques and develop custom exceptions.
  • Understand and work with Java Collections.
  • Implement lambda expressions and built-in functional interfaces.
  • Apply Java Streams API operations, including filtering, mapping, sorting, and collecting.
  • Develop Java applications using I/O streams and object serialization.
  • Implement multithreading, synchronization, and concurrent task execution using ExecutorService.
  • Analyze Java application performance using JVM memory concepts, garbage collection, thread dumps, heap dumps, and VisualVM.

Pre-requisites

  •  Java programming language fundamentals
  • basic programming concepts.

Course Curriculum