thecodex.expert · The Codex Family of Knowledge
Track 2 — Practitioner

Java: Practitioner

Five lessons to write real Java programs — OOP, Collections, Streams, I/O.

🕐 ~5 hours5 lessonsJava 21 LTS

Lessons

Lesson 1

OOP: inheritance and interfaces

extends, super(), abstract classes, interfaces with default methods, and multiple interface implementation.

Prerequisite: Foundations track complete

What to look for:

  • Abstract class vs interface
  • @Override — always include it
  • Builder pattern
  • Sealed classes — Java 17/21
🕑 60 min
Lesson 2

Collections and generics

HashMap, HashSet, LinkedHashMap, TreeMap, generics with bounds, and the Collections utility class.

Prerequisite: Lesson 1 of Practitioner

What to look for:

  • HashMap vs TreeMap vs LinkedHashMap
  • Generic bounds T extends Comparable
  • Type erasure — no new T[] at runtime
  • ? wildcard: extends vs super
🕑 60 min
Lesson 3

Stream API and lambdas

java.util.stream, filter/map/reduce, Collectors, method references, and functional interfaces.

Prerequisite: Lesson 2 of Practitioner

What to look for:

  • Streams are lazy
  • Method references String::length vs lambda
  • Collectors.groupingBy
  • Streams do not modify the source
🕑 60 min
Lesson 4

Exception handling in depth

Checked vs unchecked, custom exceptions, try-with-resources, multi-catch, and exception chaining.

Prerequisite: Lesson 3 of Practitioner

What to look for:

  • Checked exceptions: declare or catch
  • try-with-resources (AutoCloseable)
  • Multi-catch syntax
  • Exception chaining with cause
🕑 30 min
Lesson 5

File I/O with NIO.2

java.nio.file.Path, Files utility class, reading/writing files, and directory traversal.

Prerequisite: Lesson 4 of Practitioner

What to look for:

  • Path.of() for creating paths
  • Files.readString() / writeString() — Java 11+
  • Files.walk() for recursion
  • Always specify StandardCharsets.UTF_8
🕑 30 min

How to use this track: Each lesson links to the Codex reference page. Use reading level tabs (Curious / Exploring / Deep Dive). Check "What to look for". Take the quiz when ready.

Track quiz

4 questions on the Practitioner track.

What is the key difference between abstract class and interface?

What happens when you put a duplicate key in a HashMap?

What is a terminal operation in the Stream API?

What is a checked exception?

← Foundations trackAdvanced track →