Java – Advanced Programming Techniques (JAV2)

Programming, Java, Spring

This advanced Java course is designed for programmers who wish to deepen their knowledge and master advanced development techniques. Participants will learn to work effectively with generics and collections, create nested and anonymous classes, and understand functional programming using lambda expressions.

The course emphasizes practical use of the stream API including parallel data processing and correct writing of multithreaded applications with synchronization. The program also includes creating a simple GUI using the Swing library, working with files via classic and non-blocking I/O, and a modern API for date and time. All concepts are learned through examples that simulate real-world scenarios.

THIS TRAINING COURSE WILL HELP YOU:

  • Understand the principles of generics and their practical use
  • Effectively use collections (List, Map, Set) and understand their differences
  • Create nested, anonymous, and lambda classes and functional interfaces
  • Use Stream API for modern data processing, including parallelization
  • Correctly write multithreaded applications and work with synchronization

WHO SHOULD ATTEND?

  • Graduates of the basic Java course (e.g., JAV1) or self-learners with knowledge of syntax and OOP
  • Developers who want to build more complex and robust Java applications
  • Programmers preparing to work in teams where advanced techniques such as multithreading and streams are used
  • IT professionals who need Java for professional development of systems with databases, GUI, or network communication

COURSE LOCATION AND AVAILABLE DATES



Choose whether to attend in person in our classroom or join online. You can select your preferred format during registration. Learn more about hybrid training.

Public courses are usually delivered in Czech, but this course is also available in English. We can arrange private training for your team online, at your premises or in our classrooms, and tailor the content to your needs.

For groups of around 4 or more participants, private training can already be comparable in price to booking individual places on a public course. Send us your requirements and we’ll recommend the best format and provide an exact quote.

Request training in English

Course content:

Hide details
  • Generics
    1. Principle of creating generic classes and methods
    2. Java Collections API
  • Standard collections List, Map, Set, Collection
    1. Implementation of various types of standard collections, advantages and disadvantages
  • Nested and inner classes
    1. Static nested, inner, local, and anonymous classes
  • Lambda expressions, functional programming
    1. Behavior parameterization, functional interfaces
    2. Lambda expressions and their use
    3. Default interface methods, Optional class
  • Streams
    1. Stream class, collection processing, working with streams, differences from collections
    2. Filtering, mapping, searching, reduction, and collectors
    3. Parallel streams
  • Threads, asynchronous operations, synchronization
    1. Thread class, Runnable interface, thread states and methods
  • Swing GUI
    1. Creating a simple window application in Java
  • Working with files
    1. Principle of InputStream, OutputStream, Reader, Writer
    2. Non-blocking I/O, NIO2 Paths, Path, Files, Charsets
  • Java API for date and time
    1. LocalDate, LocalDateTime, Instant, Duration, Period
    2. Working with date and time, parsing and formatting
Prerequisites:
Basic programming in JAVA.
Recommended previous course:
Java – Introduction to Programming (JAV1)
Schedule:
3 days (9:00-17:00)
Price per person:
672.00 € ( 813.12 € incl. 21% VAT)

Training and learning environment