Advanced Java: Streams, Concurrency, JVM and Spring

Go beyond core Java with lambdas, streams, concurrency, the JVM, JDBC and the Spring stack. For developers heading into enterprise Java.

Start course →

What you'll learn

  • Write functional-style code with lambdas, streams and Optional.
  • Build concurrent programs with threads, executors, CompletableFuture and virtual threads.
  • Understand memory, garbage collection and the Java memory model.
  • Access databases with JDBC and JPA and build REST APIs with Spring Boot.
  • Test, log, secure, package and containerize Java services.

Syllabus

Module 1: Modern Language Features

  1. Generics In Depth
  2. Lambdas & Method References
  3. The Stream API
  4. Optional
  5. Records, Sealed Types & Pattern Matching

Module 2: Concurrency

  1. Threads & Runnable
  2. Synchronization
  3. Executors & Futures
  4. CompletableFuture
  5. Concurrent Collections
  6. Virtual Threads (Java 21)

Module 3: JVM & Performance

  1. Memory & Garbage Collection
  2. The Java Memory Model
  3. Profiling & Benchmarking

Module 4: I/O & Persistence

  1. NIO.2 File I/O
  2. JDBC

Module 5: Enterprise Java, Spring & REST

  1. Servlets & HTTP
  2. JSP & the MVC Pattern
  3. JPA & Hibernate
  4. What Dependency Injection Solves
  5. Spring Boot, Spring Data JPA & Annotations
  6. Building a REST Controller End to End
  7. API Status Codes & Error Handling

Module 6: Build, Test & Ship

  1. Packaging & Deployment
  2. JUnit 5 In Depth
  3. Mockito Basics
  4. Maven pom.xml, Lifecycle & Gradle at a Glance

Module 7: Design Patterns

  1. Singleton Pattern
  2. Factory Pattern
  3. Builder Pattern
  4. Observer Pattern

Module 8: Logging

  1. SLF4J & Structured Logging

Module 9: Security Basics

  1. Auth, JWT & Password Hashing

Module 10: Cloud-Native Java

  1. Containerizing a Spring Boot App
  2. Reactive Programming Intro