← Zentrale Startseite
Deep Dive V3 · Praxisprojekte

Code-Labs

17 vollständige Lernprojekte mit klarer Kurzbeschreibung, Lernzielen und direkten Einstiegen in Quellcode, Buchkapitel, Praxisdokumentation und verwendete Entwurfsmuster.

17fachliche Labs
493Java-Dateien
17Tests und Runner
17Pattern-Dokumente
17 Labs
01
Kapitel 01

Enterprise-Java-Plattform-Lab

Grundlagen bis Outbox

Verbindet Java-Grundlagen mit einem fachlichen Order-Modell: Value Objects, Aggregate, Ports und Adapter, Transaktionsgrenze und Outbox werden in einem durchgängigen Lernprojekt sichtbar. Geführter Codepfad mit 7 direkt eingebetteten Java-Dateien und erklärten Abhängigkeiten.

  • Fachliche Modelle stabil aufbauen
  • Use Case und Infrastruktur trennen
  • Order und Outbox konsistent speichern
Java 21DDDPorts & AdaptersOutbox
47 Java-Dateien1 Tests/Runner1 Maven-POM
02
Kapitel 02

Transaktionen-und-ACID-Lab

Transaktionen, Grenzen und ACID

Vergleicht unsichere Dual Writes mit einer klaren Transaktionsgrenze. Das Lab zeigt atomare Änderungen, Rollback-Verhalten und die Kopplung zwischen Bestellung, Bestand und Outbox. Geführter Codepfad mit 7 direkt eingebetteten Java-Dateien und erklärten Abhängigkeiten.

  • Transaktionsgrenzen erkennen
  • Dual-Write-Fehler nachvollziehen
  • Atomare Use Cases testen
Java 21ACIDTransaction BoundaryOutbox
32 Java-Dateien1 Tests/Runner1 Maven-POM
03
Kapitel 03

Locking-und-Deadlocks-Lab

Locking, Isolation und Deadlocks

Simuliert konkurrierende Zugriffe ohne externe Datenbank. Optimistic und Pessimistic Locking, Isolationseffekte, Timeouts und Deadlocks werden reproduzierbar und testbar. Geführter Codepfad mit 7 direkt eingebetteten Java-Dateien und erklärten Abhängigkeiten.

  • Lost Updates erkennen
  • Locking-Strategien vergleichen
  • Deadlocks und Timeouts behandeln
Java 21Optimistic LockingIsolationDeadlocks
19 Java-Dateien1 Tests/Runner1 Maven-POM
04
Kapitel 04

Outbox-und-Idempotenz-Lab

Outbox, Idempotenz und Crash-Fälle

Macht kritische Crash-Fenster zwischen Datenbank und Broker sichtbar. Publisher-Retries, Event-Envelopes und idempotente Consumer verhindern doppelte oder verlorene Verarbeitung. Geführter Codepfad mit 7 direkt eingebetteten Java-Dateien und erklärten Abhängigkeiten.

  • Crash-Fenster analysieren
  • Idempotente Consumer bauen
  • Retry und Deduplication testen
JDK-LabTransactional OutboxIdempotenzRetry
22 Java-Dateien1 Tests/Runner0 Maven-POM
05
Kapitel 05

Outbox-Betriebs-Lab

Outbox in Produktion und Betrieb

Erweitert die Outbox um Betriebsmechanik: Backpressure, Retry-Policies, Cleanup, Metriken, Alert-Level und nachvollziehbare Runbook-Entscheidungen. Geführter Codepfad mit 8 direkt eingebetteten Java-Dateien und erklärten Abhängigkeiten.

  • Outbox-Stau früh erkennen
  • Backpressure und Retry steuern
  • Cleanup und Alarmierung betreiben
JDK-LabOperationsBackpressureMonitoring
21 Java-Dateien1 Tests/Runner0 Maven-POM
06
Kapitel 06

REST-API-Design-Lab

REST API Design

Zeigt robuste HTTP-Verträge rund um den Order-Use-Case: Validierung, konsistente Fehlerantworten, Idempotenz, Versionierung und die Trennung von API-Modell und Domäne. Geführter Codepfad mit 7 direkt eingebetteten Java-Dateien und erklärten Abhängigkeiten.

  • Stabile API-Verträge definieren
  • Fehler konsistent abbilden
  • Idempotente Requests gestalten
JDK-LabRESTAPI ContractValidation
30 Java-Dateien1 Tests/Runner0 Maven-POM
07
Kapitel 07

Security-Lab

Security, Rollen und Audit

Modelliert Authentisierung, Autorisierung und Audit als explizite Architekturbausteine. Rollen, Berechtigungen und nachvollziehbare Sicherheitsentscheidungen bleiben testbar. Geführter Codepfad mit 7 direkt eingebetteten Java-Dateien und erklärten Abhängigkeiten.

  • Rollen und Rechte trennen
  • Autorisierung zentral prüfen
  • Audit-Trails nachvollziehbar machen
JDK-LabAuthorizationRBACAudit
31 Java-Dateien1 Tests/Runner0 Maven-POM
08
Kapitel 08

Messaging-Grundlagen-Lab

Messaging-Grundlagen

Erklärt Messaging als Vertrag zwischen Publisher und Consumer. Commands, Events, Event-Envelopes, Topic-Zuordnung und Schema-Entscheidungen werden am Order-Fluss greifbar. Geführter Codepfad mit 7 direkt eingebetteten Java-Dateien und erklärten Abhängigkeiten.

  • Commands und Events unterscheiden
  • Event-Verträge sauber modellieren
  • Publisher und Consumer entkoppeln
Java 21EventsEvent EnvelopeSchema
31 Java-Dateien1 Tests/Runner1 Maven-POM
09
Kapitel 09

Messaging-Retry-und-DLQ-Lab

Messaging-Fehlerbetrieb

Behandelt den Fehlerpfad als Teil des Designs: transiente und permanente Fehler, Retry-Entscheidungen, Dead-Letter Queue, Quarantäne und kontrolliertes Reprocessing. Geführter Codepfad mit 8 direkt eingebetteten Java-Dateien und erklärten Abhängigkeiten.

  • Fehler klassifizieren
  • Retry-Budgets anwenden
  • DLQ und Replay sicher betreiben
JDK-LabRetryDLQReprocessing
28 Java-Dateien1 Tests/Runner0 Maven-POM
10
Kapitel 10

Messaging-Betriebs-Lab

Messaging in Produktion

Fokussiert den produktiven Nachrichtenbetrieb: Lag, Partitionierung, Consumer-Zustand, Health-Signale, Metriken und Entscheidungen für Störung und Wiederanlauf. Geführter Codepfad mit 8 direkt eingebetteten Java-Dateien und erklärten Abhängigkeiten.

  • Consumer Lag bewerten
  • Betriebsmetriken lesen
  • Störungen kontrolliert abarbeiten
JDK-LabKafka OperationsLagObservability
23 Java-Dateien1 Tests/Runner0 Maven-POM
11
Kapitel 11

Legacy-Characterization-Lab

Legacy Characterization

Sichert das reale Verhalten eines Legacy-Prozessors mit Characterization Tests und Szenariokatalog. Erst das beobachtete Verhalten wird stabilisiert, bevor Refactoring beginnt. Geführter Codepfad mit 7 direkt eingebetteten Java-Dateien und erklärten Abhängigkeiten.

  • Ist-Verhalten erfassen
  • Szenarien reproduzierbar machen
  • Refactoring durch Tests absichern
JDK-LabCharacterization TestsLegacySafety Net
15 Java-Dateien1 Tests/Runner0 Maven-POM
12
Kapitel 12

Legacy-Extraktions-Lab

Legacy-Extraktion

Zerlegt einen überladenen Legacy-Prozessor in fachliche Verantwortungen. Ports, Policies, Workflow-Schritte und Tests machen Abhängigkeiten sichtbar und austauschbar. Geführter Codepfad mit 8 direkt eingebetteten Java-Dateien und erklärten Abhängigkeiten.

  • Verantwortungen schneiden
  • Ports aus Legacy-Code extrahieren
  • Schrittweise refaktorieren
Java 21RefactoringPorts & AdaptersResponsibilities
34 Java-Dateien1 Tests/Runner1 Maven-POM
13
Kapitel 13

Legacy-Parallelbetriebs-Lab

Legacy-Parallelbetrieb

Betreibt alten und neuen Pfad kontrolliert nebeneinander. Feature Toggles, Shadow Mode, Parity-Vergleich und Fallback reduzieren das Risiko der Migration. Geführter Codepfad mit 8 direkt eingebetteten Java-Dateien und erklärten Abhängigkeiten.

  • Shadow Traffic einsetzen
  • Ergebnisse auf Parität prüfen
  • Fallback kontrolliert auslösen
JDK-LabBranch by AbstractionShadow ModeFeature Toggle
29 Java-Dateien1 Tests/Runner0 Maven-POM
14
Kapitel 14

Legacy-Abbau-Lab

Legacy-Abbau

Führt die Strangler-Migration bis zum kontrollierten Abschalten. Traffic Routing, Cutover-Gates, Removal Guards und Cleanup-Regeln verhindern einen verfrühten Legacy-Abbau. Geführter Codepfad mit 8 direkt eingebetteten Java-Dateien und erklärten Abhängigkeiten.

  • Cutover-Kriterien definieren
  • Traffic sicher umschalten
  • Legacy kontrolliert entfernen
JDK-LabStranglerCutoverDecommission
31 Java-Dateien1 Tests/Runner0 Maven-POM
15
Kapitel 15

JVM-Performance-Lab

JVM-Speicher und Garbage Collection

Untersucht Allocation Pressure, Retention und Garbage Collection mit reproduzierbaren Messpunkten. Cache-Grenzen, Registries, GC-Logs und Incident-Diagnose werden verbunden. Geführter Codepfad mit 9 direkt eingebetteten Java-Dateien und erklärten Abhängigkeiten.

  • Retention-Probleme erkennen
  • GC-Signale interpretieren
  • JVM-Incidents strukturiert analysieren
Java 21JVMGarbage CollectionMemory
26 Java-Dateien7 Testszenarien1 Maven-POM
16
Kapitel 16

Virtual-Threads-Lab

Virtual Threads und Performance

Zeigt, warum Virtual Threads knappe Downstreams nicht unbegrenzt skalieren. Bulkheads, Connection-Pool-Grenzen, Rate Limits, Timeouts und Metriken bilden ein realistisches Schutzsystem. Geführter Codepfad mit 9 direkt eingebetteten Java-Dateien und erklärten Abhängigkeiten.

  • Virtual Threads richtig einordnen
  • Downstreams mit Bulkheads schützen
  • Timeouts und Limits messen
Java 21Virtual ThreadsBulkheadRate Limiting
23 Java-Dateien1 Tests/Runner1 Maven-POM
17
Kapitel 17

Framework-Vergleichs-Lab

Framework-Vergleich

Legt Spring Boot, Jakarta EE, Quarkus und Micronaut als Adapter um denselben fachlichen Use Case. So werden Runtime-, DI- und HTTP-Unterschiede vergleichbar, ohne die Domäne zu vermischen. Geführter Codepfad mit 9 direkt eingebetteten Java-Dateien und erklärten Abhängigkeiten.

  • Framework-Code isolieren
  • Adapter vergleichbar halten
  • Architektur unabhängig bewerten
Java 21Spring BootJakarta EEQuarkus / Micronaut
56 Java-Dateien1 Tests/Runner1 Maven-POM
Keine Code-Labs passen zur aktuellen Suche.