원클릭으로
java
Write robust Java avoiding null traps, equality bugs, and concurrency pitfalls.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Write robust Java avoiding null traps, equality bugs, and concurrency pitfalls.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Always use when user asks to create, generate, draw, or design a diagram, flowchart, architecture diagram, ER diagram, sequence diagram, class diagram, network diagram, mockup, wireframe, or UI sketch, or mentions draw.io, drawio, drawoi, .drawio files, or diagram export to PNG/SVG/PDF.
Expert software functional analyst specializing in functional requirements analysis, use case modeling, data flow design, and database analysis. Use when analyzing business requirements, creating use cases, designing data flows, modeling databases, or translating business needs into technical specifications.
Generate Bruno API test collections from project API definitions. Use when creating API tests, exporting collections, or testing REST endpoints.
This skill should be used when the user asks to "write java code", "java best practices", "jdk features", "java records", "java streams", "java optional", "java testing", "java spring", "java patterns", or needs guidance on professional Java development.
Build, test and package Java Maven projects. Use for compiling, running tests, or packaging the application.
Use when writing tests, creating test strategies, or building automation frameworks. Invoke for unit tests, integration tests, E2E, coverage analysis, performance testing, security testing.
| name | Java |
| slug | java |
| version | 1.0.1 |
| description | Write robust Java avoiding null traps, equality bugs, and concurrency pitfalls. |
| metadata | {"clawdbot":{"emoji":"☕","requires":{"bins":["java","javac"]},"os":["linux","darwin","win32"]}} |
| Topic | File |
|---|---|
| Nulls, Optional, autoboxing | nulls.md |
| Collections and iteration traps | collections.md |
| Generics and type erasure | generics.md |
| Concurrency and synchronization | concurrency.md |
| Classes, inheritance, memory | classes.md |
| Streams and CompletableFuture | streams.md |
| Testing (JUnit, Mockito) | testing.md |
| JVM, GC, modules | jvm.md |
== compares references, not content — always use .equals() for stringsequals() must also override hashCode() — HashMap/HashSet break otherwiseOptional.get() throws if empty — use orElse(), orElseGet(), or ifPresent()ConcurrentModificationException — use Iterator.remove()new T() or instanceof List<String>volatile ensures visibility, not atomicity — count++ still needs synchronizationInteger i = null; int x = i; crashesInteger == Integer uses reference for values outside -128 to 127 — use .equals()AutoCloseable, Java 7+thenApply vs thenCompose — compose for chaining CompletableFuturesserialVersionUID mismatch breaks deserialization — always declare explicitly