CommunitySchreiben & Editierengithub.com

Java-Wissensbasis

Wissensbasis und Workflow für Java und die JVM in jedem Bereich – Bibliotheken, Backends (Spring Boot, Quarkus, Micronaut), JDBC/JPA, Kafka, CLI, JavaFX, Spark, ML/LLM-Anwendungen, Spiele (libGDX, LWJGL), Minecraft-Mods/Plugins (Fabric, NeoForge, Paper, Mixins), Embedded.

Was ist Java-Wissensbasis?

Dieser Skill bietet eine umfassende Wissensbasis und einen strukturierten Workflow für die Java-Entwicklung und die JVM in sämtlichen Bereichen. Er deckt gängige Frameworks wie Spring Boot, Quarkus und Micronaut sowie Nischen wie Minecraft-Modding (Fabric, NeoForge, Paper) ab. Der Skill besteht aus drei Hauptkomponenten: einer kuratierten Wissensbibliothek mit Verweisen auf Bücher, Artikel und JEPs, einem Toolchain-Referenzhandbuch für JDKs, Build-Tools und Code-Analysatoren sowie einem Optimierungs-Pipeline, die gründliches Testen, Benchmarking mit JMH und Leistungsprofiling vorschreibt. Er ist darauf ausgelegt, Entwicklern bei Code-Reviews, der Diagnose von Build-Problemen, der Optimierung langsamen Codes und der Navigation bei plattformspezifischen Herausforderungen wie den Breaking Changes in Minecraft 26.x oder den neuesten JDK- und Framework-Versionen zu helfen. Die Referenzdateien sind kategorisiert und mit Inhaltsverzeichnissen versehen, sodass Entwickler schnell die benötigten Informationen finden, ohne die gesamte Dokumentation durchlesen zu müssen.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Betreazen/java-knowledge-skill/tree/HEAD/java-knowledge

Installed? Explore more Schreiben & Editieren skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Java-Wissensbibliothek und Pipeline

Dieser Skill hilft, Java-Code in jeder Domäne zu schreiben, zu überprüfen und zu beschleunigen. Er besteht aus drei Teilen:

  1. Wissensbibliothek. Bücher, Artikel, Vorträge, Dokumentation, JEPs, Codebasen und Muster nach Kategorien. Jede Quelle wird mit Link, Autor, Jahr und einer Erklärung, warum sie lesenswert ist, angegeben.
  2. Toolchain. Welche JDKs, Build-Tools und Analysewerkzeuge zu installieren sind, welche Befehle in welcher Reihenfolge ausgeführt werden. pom.xml- und Gradle-Vorlagen sowie CI-Konfigurationen sind zusammengestellt und geprüft.
  3. Pipeline. Arbeitsablauf: Tests vor Code, Qualitätsprüfungen, JMH-Benchmarks, Code-Review, Suche nach Lösungen in der Bibliothek und erneute Messung.

Wissensstand – November 2026: JDK 27 (September 2026) ist die letzte Version, JDK 25 ist das aktuelle LTS, JDK 21 und 17 sind vorherige LTS-Versionen, JDK 28 erscheint im März 2027. Maven 3.9.16 und 3.10.0 (Maven 4 immer noch RC), Gradle 9.9, JUnit 6.1, Spring Boot 4.1, Quarkus 3.40, JMH 1.37. Minecraft: 26.3 ist die neueste Version (September 2026), 26.4 ist in den Snapshots; seit 26.1 läuft das Spiel ohne Obfuskation und benötigt Java 25.

Inhaltsverzeichnis der Referenzen

AufgabeDatei
Neue Funktion, Refactoring oder Optimierung: Arbeitsablaufreferences/pipeline.md
JDK-Distributionen und -Versionen, Installation, Maven und Gradle, Plugins, BOM, Annotation Processors, javac -Xlint, Error Prone, NullAway, SpotBugs, PMD, Spotless, OpenRewrite, Abhängigkeitssicherheit, JDK-Werkzeuge, CI, Vorlagenreferences/toolchain.md
JUnit 6, AssertJ, Mockito, Testcontainers, Spring Boot Slices, property-basierte und Vertragstests, JaCoCo, PIT, flaky Testsreferences/testing.md
Code ist langsam oder verbraucht viel Speicher: Techniken nach Symptom, JMH, JFR, JIT, GC, Start und Aufwärmphasereferences/performance.md – beginnen Sie mit der Tabelle „Symptom → Technik → Quelle“
Java-Sprachfunktionen 17–28 nach JEP, Idiome, null und Optional, Ausnahmen, Muster und Anti-Patterns, Sicherheit, Review-Checklistereferences/idioms-patterns.md
Projektstruktur, Multi-Modul-Builds, Pakete und JPMS, Schichten- und Hexagonale Architektur, DDD, ArchUnit, DI, API-Evolution, Referenz-Codebasenreferences/architecture.md
Speichermodell, Executors, CompletableFuture, Sperren, Virtuelle Threads, Strukturierte Nebenläufigkeit, Scoped Values, Reaktive Bibliotheken, FFM API, JNI, Unsafe, Vector APIreferences/concurrency-native.md
Serverbereiche: Spring Boot, Quarkus, Micronaut, Helidon, REST und gRPC, JDBC, JPA und Hibernate, Migrationen, Kafka, Beobachtbarkeit, Sicherheit, Container und Kubernetesreferences/domains-server.md
Weitere Bereiche: Bibliotheksveröffentlichung, CLI und TUI, Desktop, Daten, ML und LLM-Anwendungen, Spiele, Embedded, WebAssembly, Interop, Skriptereferences/domains-client.md
Was zu lesen ist, Blogs, Vorträge, Podcasts, Kurse, deutschsprachige Ressourcen, Lernpfad nach Niveausreferences/books.md. Bei einer allgemeinen Frage zu Büchern beginnen Sie mit den Abschnitten „Kurze Liste: 20 Hauptquellen“ und „Lesepfad nach Niveaus“; thematische Abschnitte über das Inhaltsverzeichnis öffnen. Die Datei ist groß, lesen Sie sie nicht vollständig

Minecraft-Zweig (Java Edition: Mods und Server-Plugins, Minecraft 26.x und letztes 1.21.x):

AufgabeDatei
Mit einem Mod beginnen: Auswahl des Mod-Loaders (Fabric, NeoForge, Forge, Quilt), Spiel- und Java-Version, Loom und ModDevGradle, Multi-Loader und Multi-Version, Veröffentlichung auf Modrinth und CurseForge, Modpack-Builds, CI, geprüfte Vorlagenreferences/minecraft-modding.md
Mod-Code: Seiten und Threads, Registrys, Datenkomponenten, Blöcke, Entitäten, Datagen, Codecs, Netzwerk, Events, Mixins, Access Wideners und Transformer, Rendering, Konfiguration, Weltgenerierung, Update auf eine neue Version, Review-Checklistereferences/minecraft-mod-api.md – was in 26.x kaputt ist, finden Sie im Abschnitt „Was in 26.x kaputt ist“
Lags, TPS und MSPT, FPS, Speicher, langsamer Start; Spark und JFR; Welt-Benchmark /tick sprint; GameTest und Unit-Tests; Analyse von Crash-Reports und Mod-Konfliktenreferences/minecraft-performance-testing.md – beginnen Sie mit der Tabelle „Symptom → Technik → Quelle“
Server: Datapack, Plugin oder Mod; Paper, Folia, Velocity, Spigot, Sponge, Minestom; Polymer; Geyser und ViaVersion; Plugin-Engineering und -Vorlagenreferences/minecraft-server-plugins.md
Dokumentation und deren Aktualität, wie man alte Tutorials liest, Kurse, Referenz-Mods nach Typ, Community, Lernpfadreferences/minecraft-resources.md

Jedes Handbuch beginnt mit einem Inhaltsverzeichnis. Lesen Sie nur den benötigten Abschnitt, nicht die gesamte Datei.

Häufige Fragen und Abschnitte mit Antworten

FrageAbschnitt
Nach dem Wechsel zu JDK 23+ fehlen generierte Klassen (Lombok, MapStruct, JMH), aber der Build läuft; andere unerwartete Build-Fehlertoolchain.md → „Fallstricke: Zusammenfassung“
Mit welchem Befehl das Projekt vor dem Merge prüfentoolchain.md → „Minimale Qualitätsprüfungen“
Was im Profil oder Benchmark sichtbar ist und was damit zu tun istperformance.md → „Symptom → Technik → Quelle“
Wie schreibe ich einen Benchmark, der nicht lügtperformance.md → „Benchmarks: JMH“
Womit auf Windows, Linux und macOS profilenperformance.md → „Profiling“
Kann ich eine Sprachfunktion auf unserer JDK-Version verwendenidioms-patterns.md → „Java-Sprachversionen: 17–28“
Soll der Dienst auf virtuelle Threads umgestellt werden und was ist zu prüfenconcurrency-native.md → „Virtuelle Threads“; für Spring Boot 4 zusätzlich domains-server.md → „Frameworks und Runtimes“
Welches Nebenläufigkeitsmodell unter Last wählenconcurrency-native.md → „Werkzeugauswahl nach Last“
Was hat sich in Spring Boot 4, Jackson 3, Hibernate 7 geändert und was wurde entferntdomains-server.md → „Versionen im November 2026“
Langsamer Endpunkt, N+1, Verbindungspooldomains-server.md → „Server-Performance: Symptome“
Wie das Projekt in Module aufgeteilt und Grenzen festgelegt werdenarchitecture.md → „Kurze Standardregeln“
Gibt es ein Buch oder eine Ausgabebooks.md → „Was erschienen ist, was im Early Access ist und was es nicht gibt“
Minecraft: Wo fange ich mit einem Mod an, fertiges Projekt mit GameTest und CIminecraft-modding.md → „Vorlagen“, Loader-Auswahl – „Standard-Stack“
Minecraft: Altes Tutorial oder Mod baut nicht auf 26.x (modImplementation, remapJar, ResourceLocation, Yarn)minecraft-modding.md → „Was in alten Tutorials falsch ist“, minecraft-mod-api.md → „Was in 26.x kaputt ist“
Minecraft: Server laggt (MSPT, TPS), wie finde ich die Ursache und beweise, dass die Behebung geholfen hatminecraft-performance-testing.md → „Symptom → Technik → Quelle“, Arbeitsablauf – pipeline.md → „Minecraft-Mods und Plugins“
Minecraft: Datapack, Plugin oder Mod; Paper-Plugin von Grund aufminecraft-server-plugins.md → „Was wählen: Datapack, Plugin oder Mod“, „Vorlagen“

Das Skript scripts/BenchCompare.java vergleicht JMH-Durchläufe „vorher“ und „nachher“ anhand ihrer JSON-Daten unter Berücksichtigung des Rauschens zwischen den Durchläufen und gibt bei einer Regression den Code 1 zurück. Ausführung ohne Build: java BenchCompare.java <vorher> <nachher> auf JDK 17+. Es wird in Schritt 11 der Pipeline benötigt.

Für Minecraft gibt es zwei weitere Skripte:

  • scripts/tick_sprint_bench.sh – Benchmark des gesamten Servers mit dem Befehl /tick sprint. Das Ergebnis wird im JMH-JSON-Format ausgegeben, sodass es von BenchCompare.java verglichen werden kann.
  • scripts/EmptyStructure.java – leere Struktur .nbt für GameTest. Wird auf NeoForge benötigt, wo es keine eigene leere Struktur gibt.

Die Skripte befinden sich im Ordner scripts/ neben dieser SKILL.md. Bei Installation für alle Projekte ist dies ~/.claude/skills/java-knowledge/scripts/, bei Installation im Projekt .claude/skills/java-knowledge/scripts/. Setzen Sie diesen Pfad in den Befehlen aus den Handbüchern ein.

Arbeitsweise

Für Aufgaben, die mehr als eine Methode umfassen, folgen Sie der Pipeline:

  1. Abfrage.
  2. Plan und Spezifikation.
  3. Teilaufgaben.
  4. Tests vor Code.
  5. Isolation im Worktree.
  6. Benchmarks.
  7. Basismessung und Profil.
  8. Review.
  9. Lösungssuche in der Bibliothek.
  10. Optimierung.
  11. Erneute Messung.

Für kleine Korrekturen reicht der Kurzmodus aus derselben Datei: Test, Code, Prüfungen, Review.

Bevor Sie die Arbeit als fertig erklären, führen Sie die minimalen Prüfungen durch und zeigen Sie deren Ausgabe:

./mvnw -B -ntp verify                 # Kompilierung mit -Xlint -Werror, Error Prone und NullAway, Tests, Spotless, JaCoCo-Schwelle
./mvnw -B -ntp dependency:analyze
osv-scanner scan source -r .

Für Gradle: ./gradlew build, ./gradlew buildHealth, osv-scanner scan source -r .. Analysatoren und Schwellen sollten im Build verankert sein – Vorlagen in toolchain.md. Wenn sie im Projekt nicht vorhanden sind, führen Sie das aus, was vorhanden ist, und geben Sie an, welche Prüfungen fehlen. Wenn ein Werkzeug nicht installiert ist, schlagen Sie den Installationsbefehl aus toolchain.md vor und überspringen Sie den Schritt nicht stillschweigend.

Bei der Optimierung:

  • Zuerst messen, dann ändern. Ohne Basislinie kann man nicht sagen, dass der Code schneller geworden ist.
  • Messen Sie mit JMH, nicht mit System.nanoTime() in einer Schleife: Der JIT entfernt ungenutzte Arbeit. In einem lokalen Test sah eine Berechnung mit verworfenem Ergebnis 14-mal billiger aus als die eigentliche Berechnung.
  • Führen Sie 5 Durchläufe „vorher“ und „nachher“ in separaten JVM-Starts durch, abwechselnd in der Reihenfolge (ABBA). Läufe desselben JARs weichen um 12–22% voneinander ab.
  • Fügen Sie immer -prof gc hinzu und beachten Sie gc.alloc.rate.norm (Bytes pro Operation): Diese Metrik rauscht fast nicht.
  • Führen Sie immer nur einen JMH gleichzeitig auf einem Rechner aus und belasten Sie den Rechner während der Messung nicht mit anderen Arbeiten.
  • Suchen Sie die Technik nach Symptom in performance.md und geben Sie die Quelle neben der Änderung an.
  • Akzeptieren Sie eine Änderung nur, wenn der Benchmark einen signifikanten Gewinn gezeigt hat und die Tests grün geblieben sind.

Beim Review verwenden Sie die Checklisten:

Bibliotheksnutzungsregeln

  • Quellen angeben. Wenn Sie ein Muster oder eine Optimierung empfehlen, geben Sie einen Link aus dem Handbuch an. So kann der Benutzer den Rat überprüfen, und die Lösung wirkt nicht erfunden.
  • Markierungen beachten. [veraltet] bedeutet, dass es einen Ersatz für das Material gibt, der daneben angegeben ist. [nicht geprüft] bedeutet, dass die Aussage aus einer einzigen sekundären Quelle stammt; sie sollte überprüft werden, bevor eine Lösung darauf aufbaut.
  • Versionen prüfen. Die Versionen gelten für November 2026. In den Jahren 2025–2026 wurden viele Hauptversionen mit Breaking Changes veröffentlicht: Spring Boot 4 und Spring Framework 7 (umbenannte Starter, entfernte APIs), Jackson 3 (Pakete tools.jackson), Hibernate 7, JUnit 6, Testcontainers 2 (neue Artefakte und Pakete), google-java-format 2. Die Veröffentlichung über OSSRH ist seit dem 30. Juni 2025 geschlossen. Vor wichtigen Entscheidungen konsultieren Sie Maven Central, die Dokumentation und die Release Notes.
  • Ziel-Java-Version berücksichtigen. Stellen Sie maven.compiler.release oder das Toolchain in Gradle fest, bevor Sie ...

Verwandte Skills