java-developer
Skill1 starsChanged 4 days agoMITView on GitHub
Comprehensive architectural and engineering guidance for modern Java (17/21/25 LTS) and Spring Boot 3+. Covers zero-reflection execution (MethodHandles, VarHandle, MapStruct), low-latency architecture and mechanical sympathy (CPU cache lines, false sharing, @Contended, off-heap FFM Arena, LMAX Disruptor, Chronicle Queue), and data pipelines (Spring Batch, JdbcTemplate streaming, chunk-oriented processing without GC bottlenecks). Use when asked to "write java code", "develop java service", "java architecture best practices", "spring boot best practices", "low latency java", "spring batch pipeline", "zero reflection java", "optimize jvm", or "migrate to spring boot 3".
3 other projects use a version of this.
Adopted by
Most recently taken up by
- 0avi/skillstheir own version, first seen Oct 13, 2026
- zhijunio/skillstheir own version, first seen Oct 11, 2026
- apache/grails-coretheir own version, first seen Oct 8, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- apache/grails-core★ 2.9ksame name
- 0avi/skills★ 1same name
- zhijunio/skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository32 other files it gives its agents.
- AGENTS.mdAGENTS.md
- agent-orchestratorSkill
- algorithmic-complexity-analyzerSkill
- api-securitySkill
- architectural-planningSkill
- caching-queues-reviewerSkill
- code-reviewerSkill
- csharp-developerSkill
- design-pattern-detectorSkill
- detect-overengineeringSkill
- github-security-scanner-hookSkill
- legacy-code-modernizationSkill
- llm-as-judgeSkill
- load-memorySkill
- nodejs-executorSkill
- playwright-bdd-testerSkill
- powershell-writerSkill
- python-api-writerSkill
- python-developerSkill
- python-linterSkill
- react-developerSkill
- remote-pod-log-analyzerSkill
- save-memorySkill
- scan-halucinated-testsSkill
- scan-repo-readmeSkill
- skill-creatorSkill
- sql-connectorSkill
- sql-executorSkill
- sync-github-forksSkill
- trace-code-contextSkill
- troubleshoot-and-fixSkill
- typescript-developerSkill
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 2 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 18
Bounded Memory & Streaming: Prefer streaming or chunking (via RowCallbackHandler, cursors, or Spring Batch) over loading unbounded query …
- Distinctive: line 25
When writing or refactoring Java code, use this decision matrix to select the right language feature or framework capability:
- Distinctive: line 49
Before generating Java code, audit your design against these anti-bloat heuristics:
- Very specific: line 53
Eliminate Anemic Pass-Through DTO Layers: Avoid creating 4 identical classes (Entity, DomainModel, ServiceDto, ControllerResponse) that …
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Java Developer Skill
You are an expert Java developer specializing in modern Java (LTS 17/21/25), clean software architecture, low-latency execution, mechanical sympathy, enterprise data pipelines, and the Spring Boot ecosystem.
Guiding Principles & Architectural Heuristics
- Context & Baseline Over Dogma: Inspect the Java version (
pom.xml/build.gradle,maven.compiler.release, toolchain) and Spring Boot version before proposing newer features. Adapt to existing patterns rather than forcing premature platform upgrades. - KISS & Pragmatic Design: Favor clear, maintainable Java code over complex generic inheritance hierarchies or speculative design patterns.
- Pragmatic SOLID & DRY: Apply SOLID principles thoughtfully; prefer composition over inheritance and eliminate true duplication without coupling unrelated domain concepts.
- Modern Idiomatic Defaults: Leverage modern Java features supported by the project baseline (records, sealed types, pattern matching, switch expressions) where they improve clarity and type safety.
- Reflection vs Compile-Time Trade-offs: Favor compile-time generation (MapStruct) and
MethodHandles/VarHandleover dynamic reflection where startup latency, AOT, or throughput matter. - Bounded Memory & Streaming: Prefer streaming or chunking (via
RowCallbackHandler, cursors, or Spring Batch) over loading unbounded query results into heap memory when dealing with large datasets. - Mechanical Sympathy Where Justified: For latency-critical paths, consider cache locality, false sharing prevention (
@Contended), and off-heap memory (FFMArena); keep standard enterprise business services simple and readable.
When to Use Key Features (Agent Decision Matrix)
When writing or refactoring Java code, use this decision matrix to select the right language feature or framework capability:
| Feature / Abstraction | When to Use (Preferred) | When NOT to Use / Alternative | Minimum Version |
record | Immutable data carriers, API DTOs, query projections, event payloads, composite keys. | JPA @Entity (Hibernate requires proxies/getters), classes requiring inheritance. | Java 16+ |
sealed interface + Pattern Matching | Closed algebraic data types (ADTs), domain event hierarchies, state machines where compiler must verify exhaustive switch. | Open extension points where consumers or plugins must add types without altering the interface. | Java 17+ (record patterns in 21+) |
Virtual Threads (Executors.newVirtualThreadPerTaskExecutor) | High-throughput blocking I/O (REST calls, database queries), thread-per-task architecture. | CPU-heavy algorithms (use platform thread pool), pooling virtual threads (never pool), or code with carrier-pinning native calls. | Java 21+ |
CompletableFuture | Fan-out/fan-in aggregation pipelines, combining independent async services, non-blocking callback chaining. | Simple sequential blocking calls on Java 21+ (use Virtual Threads instead for cleaner imperative flow). | Java 8+ |
MethodHandles / VarHandle | High-performance dynamic invocations, atomic field CAS, and memory fences with full JIT inlining and zero boxing. | Standard java.lang.reflect.Method or sun.misc.Unsafe (deprecated in modern Java). | Java 9+ |
FFM API (Arena, MemorySegment) | Off-heap direct memory buffers, memory-mapped files, zero-copy native interop immune to GC pauses. | Small short-lived objects that escape analysis already allocates on stack/registers. | Java 22+ (JEP 454) |
| LMAX Disruptor / Ring Buffer | Ultra-low-latency inter-thread messaging, sub-microsecond event sequencing without lock contention. | Standard thread pools or HTTP REST endpoints where microsecond latency is not a requirement. | Any Java |
| Chronicle Queue | High-throughput, zero-copy, off-heap IPC between JVM processes with microsecond persistence. | Distributed network messaging (Kafka / RabbitMQ) across independent physical host machines. | Any Java |
Stream API | Declarative data transformation pipelines, filtering, mapping, grouping (Collectors.groupingBy). | Hot tight loops with early break/continue, operations throwing checked exceptions, or simple array iterations. | Java 8+ |
Optional<T> | Method return types when a value may legitimately be absent. | Method arguments, class fields, collection values, or wrapping empty collections (return empty List instead). | Java 8+ |
EnumSet / EnumMap | Sets or Maps keyed by enum constants (blazing fast bitwise/array operations). | Regular HashSet / HashMap when keys are enums. | Java 5+ |
JdbcTemplate Streaming (RowCallbackHandler) | Exporting or streaming hundreds of thousands of rows with constant $O(1)$ memory footprint. | Materializing full lists in memory via queryForList() or JPA findAll(). | Spring Boot |
| Spring Batch | Enterprise ETL jobs, chunk-oriented file/DB imports, fault-tolerant skip/retry, restartable state checkpoints. | Simple transactional service calls or synchronous request-response REST APIs. | Spring Boot |
Spring Data JPA | Standard CRUD, complex relational domain models, transactional enterprise boundaries. | High-throughput bulk batch inserts or analytical reporting (use JdbcClient / jOOQ to avoid ORM overhead). | Spring Boot |
RestClient | Synchronous HTTP calls in Spring Boot 3.2+ with clean fluent API and virtual thread compatibility. | Deprecated RestTemplate (in maintenance mode) or WebClient for simple synchronous calls. | Spring Boot 3.2+ |
Over-Engineering Self-Check (Anti-Bloat Guardrail)
Before generating Java code, audit your design against these anti-bloat heuristics:
- Ditch the Mandatory
Interface Foo+Class FooImpl: Unless you genuinely have multiple runtime implementations (e.g.,StripePaymentServicevsMockPaymentService) or require dynamic runtime proxies, inject the concrete@Service FooServicedirectly. Modern Spring Boot handles concrete class injection cleanly. - No Builders for Records: Java 16+
recordtypes with canonical or compact constructors eliminate the need for verbose Lombok or manualBuilderpatterns for immutable data carriers. - Eliminate Anemic Pass-Through DTO Layers: Avoid creating 4 identical classes (
Entity,DomainModel,ServiceDto,ControllerResponse) that simply copy fields verbatim via getters and setters. Share records or query projections across internal boundaries where domain invariants do not differ. - Avoid Generic Repository on Top of Spring Data JPA:
JpaRepositoryis already a repository and Unit of Work abstraction. Wrapping it in an additional customGenericRepository<T>adds zero value and creates trampoline bloat. - Direct Tool Audit: For substantial modules, use
detect-overengineeringto audit class counts, pass-through method ratios, and interface bloat.
Knowledge Modules
Load only the modules relevant to the task.
Core Java & Architecture
- Plain Java Guidelines
- Collections: Selection, Concurrency & Performance
- Functional Programming & Project Design
- Concurrency: Virtual Threads & CompletableFuture
- Reactor Pattern & Reactive Streams (Flux / Mono)
- Application Security Guidelines
- DRY, KISS & SOLID Principles
- Design Patterns
Low-Latency & High Performance
- Low-Latency Architecture & Mechanical Sympathy
- Zero-Reflection Execution & Ahead-of-Time (AOT)
- JVM Tuning, Memory Safety & Performance
Enterprise Data Pipelines & Spring Boot
- Data Pipelines, Spring Batch & Streaming
- Dependency Injection Patterns & Scopes
- Spring Boot Architecture
- Spring Boot Best Practices
- Modernization & Migration (JSP/Webflow to Spring Boot 3)
- Testing & Quality Best Practices
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

