Tag: java
Browse 118 practical software engineering resources tagged with "java". Discover code recipes, design patterns, documentation templates, and in-depth guides to help you build, deploy, and maintain production-ready solutions involving java. Each resource is written for engineers who ship real systems, with copy-paste examples and practical trade-offs.
Java Backend Engineering
Java remains a dominant choice for large-scale backend systems because of its mature ecosystem, strong typing, and excellent runtime performance. Building production services in Java means mastering the JVM, dependency injection, concurrency, testing, and deployment patterns.
The resources here cover Spring Boot, REST and gRPC APIs, database integration, messaging, observability, and performance tuning. Each recipe is designed to be directly applicable to enterprise and cloud-native applications.
Every resource includes clear explanations, copy-paste code, and practical warnings. Use them to make informed decisions, avoid production pitfalls, and speed up your delivery. If you are just getting started, read the beginner-friendly articles first; if you are experienced, jump straight to the advanced patterns and architecture guides. New resources are added regularly, so bookmark this page and check back for the latest patterns.
OpenAPI 3.1 API Docs with Swagger UI and Redoc
A practical guide to documenting REST APIs with OpenAPI. Generate interactive Swagger UI and Redoc...
Implement API Logging and Audit Trails
Set up thorough request/response logging and audit trails for APIs with structured output,...
Implement a GraphQL API
Build a production-ready GraphQL API with typed schemas, resolvers, and mutations in Python,...
Handle API Errors with RFC 7807 and HTTP Status Codes
Patterns for consistent, predictable API error handling across multiple languages and frameworks.
Input Validation: Schema-First Examples in 3 Languages
Validate user input at the API boundary with schema libraries. Pydantic, Zod, and Jakarta...
Build Real-Time Notifications with WebSockets
Implement a real-time notification system using WebSockets and Redis pub/sub for broadcasting...
Send Transactional Emails with SMTP in Python, Node.js
Learn to send transactional and bulk emails via SMTP with Python, Node.js, and Java. Covers auth,...
Build a WebSocket Server (Python, Node.js, Java)
How to build a WebSocket server for bidirectional real-time communication, with connection...
Dependency Injection: Containers in 4 Languages
Implement dependency injection to write testable, decoupled code across languages and frameworks.
How to Hash Passwords Securely (Python, JavaScript, Java)
Learn how to hash and verify passwords with bcrypt, Argon2, and PBKDF2. Practical examples in...
Configure Caffeine Cache in Java with Eviction Policies
Set up Caffeine cache in a Java application with size-based, time-based, and weighted eviction...
Use Spring Cache Annotations with Redis Backend
Apply Spring's @Cacheable, @CachePut, and @CacheEvict annotations with a Redis cache manager for...
Thread-Safe Collections: Blocking Queues and Concurrent Maps
How to safely share collections between threads using concurrent data structures—blocking queues,...
Compose Asynchronous Pipelines with Java CompletableFuture
Build non-blocking async pipelines in Java using CompletableFuture with thenCompose, thenCombine,...
Scale Concurrent Applications with Java Virtual Threads
Scale Java applications with virtual threads from Project Loom. Use Thread.ofVirtual,...
Caching & Memoization in Python, JavaScript, and Java
How to cache expensive computations and API responses using in-memory LRU, TTL, and distributed...
Convert CSV to JSON
Turn CSV files into structured JSON using Python, JavaScript, and Java. Pick the right library for...
Convert JSON to CSV
How to convert JSON data to CSV format in Python, Java, and JavaScript — flatten nested objects,...
Diff JSON Objects
How to compare two JSON objects and find differences in Python, Java, and JavaScript.
Flatten and Unflatten Nested Objects
How to convert nested objects to flat key-value pairs and back again, with dot-notation, bracket...