Skip to main content
QUESTLINE

Java — Intermediate

Move from writing Java to engineering it: equality and immutability contracts, SOLID design, generics with wildcards, advanced collections, Collectors, exception architecture, testing depth, concurrency, async composition, repositories, layered architecture, and algorithms — capped by a layered expense-tracker capstone.

📜 58 lessons⚡ 0 challenges⏳ ~13.5 hours⭐ Beginner — no experience needed
Prerequisite course:Java — Beginner

Who this course is for

Learners who finished Java — Beginner (or know its scope) and want to design, test, and structure maintainable Java applications — not just write more syntax.

What you will be able to do

  • Design types with correct equals/hashCode contracts, immutability, and defensive copying
  • Apply dependency inversion, composition, and sealed hierarchies to real design tradeoffs
  • Write generic APIs with bounded types, wildcards, and PECS confidently
  • Choose and combine collections with Comparable/Comparator and immutable views
  • Transform data with Collectors: groupingBy, partitioningBy, toMap, teeing
  • Architect errors with try-with-resources, exception boundaries, and custom hierarchies
  • Read and write NIO.2 file code and hand-parse CSV/JSON safely
  • Test like a professional: AAA, parameterized thinking, test doubles, regression nets
  • Reason about Maven lifecycles, dependency scopes, and multi-module structure
  • Write concurrent code with executors, Futures, and atomic visibility primitives
  • Compose async pipelines with CompletableFuture and injectable HTTP transports
  • Structure applications in layers with repositories and hand-rolled DI
  • Solve algorithm problems with maps, two pointers, sliding windows, and prefix sums
  • Ship a layered capstone integrating records, generics, streams, repositories, and tests
CHAPTER 1· 4 Waypoints

Equality, Immutability & Object Contracts

The contracts every Java type must keep: identity vs equality, the equals/hashCode pairing, and defensive copying.

CHAPTER 2· 4 Waypoints

Object-Oriented Design & Dependency Inversion

Design with contracts: injected dependencies, sealed hierarchies with exhaustive switches, and composition over inheritance.

CHAPTER 3· 4 Waypoints

Generics Deep Dive

Bounded type parameters, wildcards with PECS, and the erasure mental model that explains every generic restriction.

CHAPTER 4· 4 Waypoints

Collections & Data Structures in Depth

Comparator composition, sorted structures, deques and priority queues, and the three levels of collection immutability.

CHAPTER 5· 3 Waypoints

Functional Java & Collectors

Collectors that reshape data, function composition, and the judgment to know when a plain loop is the better program.

CHAPTER 6· 4 Waypoints

Exceptions & Error Architecture

try-with-resources semantics, exception translation at boundaries, and custom hierarchies that carry data.

CHAPTER 7· 4 Waypoints

Files, I/O & Data Formats

NIO.2's Path/Files model, encoding discipline, and hand-rolled CSV/JSON parsing that respects the real grammar.

CHAPTER 8· 4 Waypoints

Testing Like a Professional

AAA discipline, seams and test doubles, boundary nets, and the determinism rules that keep suites trustworthy.

CHAPTER 9· 4 Waypoints

Concurrency Fundamentals

Threads and happens-before, race conditions and the visibility ladder, and executors with deterministic completion.

CHAPTER 10· 4 Waypoints

Async Composition & HTTP

CompletableFuture pipelines, the HTTP client behind an injectable transport, and timeout/retry discipline.

CHAPTER 11· 4 Waypoints

Persistence & Repositories

The repository pattern, the JDBC shape it wraps (placeholders, transactions, translation), and index maintenance in stores.

CHAPTER 12· 4 Waypoints

Application Architecture

Layered design, DTO boundaries, hand-rolled composition roots, and the god-class refactoring sequence.

CHAPTER 13· 4 Waypoints

Intermediate Algorithms

Two pointers, sliding windows, prefix sums, binary-search boundaries, and maps as space-for-time tools.

CHAPTER 14· 4 Waypoints

Professional Java Code

Names and functions that respect the reader, the smell→refactor reflex, and defensive readability.

CHAPTER 15· 3 Waypoints

Capstone: Expense Tracker

Integrate the whole course into a layered expense tracker — validated records, injected repositories, stream reports, and boundary-tested rules.