Tagged articles

Java

5000 articles · Page 1 of 50
Java Captain
Java Captain
Oct 7, 2026 · Backend Development

MyBatis XML Configuration Guide: From Setup to CRUD Operations

This tutorial walks through configuring MyBatis with XML for database operations, covering Maven dependencies, project structure, core configuration files, mapper interfaces, dynamic SQL, and JUnit testing with a complete employee CRUD example.

CRUDJDBCJUnit testing
0 likes · 20 min read
MyBatis XML Configuration Guide: From Setup to CRUD Operations
Java Captain
Java Captain
Oct 6, 2026 · Backend Development

Java Stream API: LINQ-Style Collection Filtering & Extraction

This tutorial demonstrates Java Stream API for filtering and extracting collection data, covering stream creation from Lists, Sets, Maps, and arrays, key operations like filter, limit, skip, concat, distinct, and collecting results into List, Set, or Map with practical code examples.

CollectionsData ProcessingFiltering
0 likes · 13 min read
Java Stream API: LINQ-Style Collection Filtering & Extraction
Architect's Guide
Architect's Guide
Oct 5, 2026 · Backend Development

Open-Source Tool Generates Full-Stack Spring Boot CRUD Code from DB Schema

This article introduces an open-source code generator that automatically creates complete Spring Boot CRUD layers—entities, DAOs, MyBatis mappers, services, converters, and controllers—from database schemas or SQL, featuring customizable templates with dynamic parameters and reusable code blocks for team-specific conventions.

Backend DevelopmentCode GenerationJava
0 likes · 19 min read
Open-Source Tool Generates Full-Stack Spring Boot CRUD Code from DB Schema
Coder Trainee
Coder Trainee
Oct 4, 2026 · Artificial Intelligence

RAG Prompt Engineering: Constraining Models to Use Retrieved Knowledge Correctly

This article details how to design effective RAG prompts that prevent hallucination, enforce source citation, handle missing information, concatenate multiple documents with metadata, manage multi-turn conversations with history compression, and provides a complete prompt template with a tuning checklist.

JavaLLMRAG
0 likes · 13 min read
RAG Prompt Engineering: Constraining Models to Use Retrieved Knowledge Correctly
Java Tech Workshop
Java Tech Workshop
Oct 3, 2026 · Backend Development

LRU Cache in 3 Lines: How LinkedHashMap Does the Heavy Lifting

This article demonstrates how to build a bounded LRU cache in three lines by extending LinkedHashMap with access-order enabled and overriding removeEldestEntry, detailing the internal doubly-linked list mechanics, thread-safety limitations, memory overhead, and when to migrate to Caffeine for advanced features like TTL and high concurrency.

CaffeineData StructuresJava
0 likes · 22 min read
LRU Cache in 3 Lines: How LinkedHashMap Does the Heavy Lifting
Java Tech Enthusiast
Java Tech Enthusiast
Oct 2, 2026 · Backend Development

Spring Boot 4.1 InetAddressFilter: Built-in SSRF Protection for HTTP Clients

Spring Boot 4.1 introduces InetAddressFilter to block internal network access at the HTTP client level, replacing scattered string checks with a centralized allowlist approach. The article demonstrates configuring RestClient.Builder for external-only access, adding URI validation, disabling auto-redirects, setting timeouts, limiting response size, and enforcing secure patterns via tests and code reviews.

Backend SecurityHTTP Client SecurityInetAddressFilter
0 likes · 15 min read
Spring Boot 4.1 InetAddressFilter: Built-in SSRF Protection for HTTP Clients
macrozheng
macrozheng
Sep 30, 2026 · Backend Development

JetBrains' VS Code Plugin Adds IntelliJ IDEA Features for Java/Kotlin

The article reviews JetBrains' official 'Java and Kotlin by IntelliJ IDEA' VS Code plugin, which runs IntelliJ's language server via LSP to deliver code completion, navigation, refactoring, debugging, and Gradle/Maven/Bazel project import, though test discovery and execution are not yet supported.

IntelliJ IDEAJavaKotlin
0 likes · 6 min read
JetBrains' VS Code Plugin Adds IntelliJ IDEA Features for Java/Kotlin
Java Tech Workshop
Java Tech Workshop
Sep 29, 2026 · Backend Development

Java Method References: Four Patterns, Readability Tips, and Compiler Resolution Explained

This article explains the four types of Java method references (static, bound instance, arbitrary instance, constructor), their equivalent lambdas, compiler overload resolution, readability trade-offs, and practical examples showing when method references improve clarity versus when lambdas remain preferable.

Code ReadabilityCompiler Overload ResolutionFunctional Interfaces
0 likes · 21 min read
Java Method References: Four Patterns, Readability Tips, and Compiler Resolution Explained
liandk
liandk
Sep 29, 2026 · Backend Development

Java Fault Analysis Masterclass: 7-Step Review, 6 Root Causes, 8 HA Principles

This final chapter of a 20-part Java series presents a 7-step fault review SOP, categorizes 99% of production faults into six root causes, defines eight high-availability architecture principles, and outlines a four-layer risk prevention system to shift from reactive firefighting to proactive stability.

Architecture PrinciplesFault AnalysisJava
0 likes · 13 min read
Java Fault Analysis Masterclass: 7-Step Review, 6 Root Causes, 8 HA Principles
LuTiao Programming
LuTiao Programming
Sep 28, 2026 · Backend Development

Java Discount Allocation: Solving the 1-Cent Rounding Error in Partial Refunds

The article presents a Java solution for allocating order-level discounts to individual items using integer arithmetic and deterministic remainder distribution, ensuring accurate partial refunds by persisting per-unit prices, allocated discounts, and payable amounts at checkout, with database schema and concurrency considerations.

BigIntegerJavaconcurrency control
0 likes · 12 min read
Java Discount Allocation: Solving the 1-Cent Rounding Error in Partial Refunds
Java Tech Workshop
Java Tech Workshop
Sep 28, 2026 · Fundamentals

Java Interface Default & Static Methods: Evolution Tool or Maintenance Trap?

This article analyzes Java 8+ interface default and static methods, explaining their original purpose for backward-compatible interface evolution, valid use cases like optional capabilities and mixin-style derived methods, and common pitfalls including hidden assumptions, silent failures, fixed workflows that prevent customization, and binary vs semantic compatibility issues. It includes a real-world refactoring example for payment callback handlers.

Interface Default MethodsInterface EvolutionInterface Static Methods
0 likes · 24 min read
Java Interface Default & Static Methods: Evolution Tool or Maintenance Trap?
Java Captain
Java Captain
Sep 27, 2026 · Backend Development

Two Ways to Read Java Properties Files: ClassLoader vs ResourceBundle

This tutorial shows two standard Java approaches for loading a jdbc.properties file: using ClassLoader.getResourceAsStream with Properties, and using ResourceBundle.getBundle, each with complete code examples and output verification.

Backend DevelopmentClassLoaderConfiguration
0 likes · 3 min read
Two Ways to Read Java Properties Files: ClassLoader vs ResourceBundle
Java Baker
Java Baker
Sep 27, 2026 · Backend Development

Why Architects Must Build i18n/l10n From Day One: A Practical Guide

This article explains why internationalization and localization should be implemented from the start, covering UTF-8 encoding, locale handling, resource bundles, dynamic content translation strategies, time zone and currency best practices, legal compliance like GDPR, and real-world failure cases.

BigDecimalDateTimeFormatterJava
0 likes · 12 min read
Why Architects Must Build i18n/l10n From Day One: A Practical Guide
Geek Labs
Geek Labs
Sep 27, 2026 · Artificial Intelligence

Self-Hosted AI Employee Workbench: One-Command Deploy, Digital Teams & Model Failover

MateClaw is an open-source, self-hosted AI workbench that deploys via a single Docker command, providing digital employees with roles, knowledge bases, and tool permissions, team collaboration via DAG task graphs, a traceable wiki-style knowledge base with page-level citations, model failover across 14+ providers, and enterprise-grade RBAC, audit logs, and approval workflows — all in a Java 21 Spring Boot stack.

AI agentsJavaMateClaw
0 likes · 11 min read
Self-Hosted AI Employee Workbench: One-Command Deploy, Digital Teams & Model Failover
21CTO
21CTO
Sep 26, 2026 · Backend Development

Java 28 Takes Shape: Value Objects, Generational GC, AOT Compilation & More

Oracle reveals the feature roadmap for JDK 28, a non-LTS release due March 2027, including value objects, generational Shenandoah GC, strictly initialized fields, a standard JSON API, PEM encoding for crypto objects, and ahead-of-time compilation to cut startup time.

AOT CompilationJDK 28JSON API
0 likes · 6 min read
Java 28 Takes Shape: Value Objects, Generational GC, AOT Compilation & More
Xiaolin Talks Programming
Xiaolin Talks Programming
Sep 25, 2026 · Backend Development

Spring Boot + Apache CXF: Building Production-Ready SOAP WebServices with WSDL & WS-Security

This guide covers integrating Spring Boot with Apache CXF to publish and consume SOAP web services, detailing WSDL-first vs code-first approaches, endpoint configuration, client invocation patterns, WS-Security (username tokens, signatures, encryption), MTOM attachments, message validation, exception handling, testing strategies, and production hardening against XXE, large payloads, and version conflicts.

Apache CXFBackend DevelopmentJava
0 likes · 26 min read
Spring Boot + Apache CXF: Building Production-Ready SOAP WebServices with WSDL & WS-Security
LuTiao Programming
LuTiao Programming
Sep 24, 2026 · Backend Development

Spring Boot 4.1's InetAddressFilter Finally Blocks SSRF in URL Preview APIs

The article demonstrates how Spring Boot 4.1's new InetAddressFilter.externalAddresses() simplifies SSRF protection for user-supplied URLs, replacing manual IP checks with a centralized HTTP client filter, while also covering URL validation, redirect handling, timeouts, response size limits, and testing strategies to secure link preview and similar features.

Backend DevelopmentInetAddressFilterJava
0 likes · 14 min read
Spring Boot 4.1's InetAddressFilter Finally Blocks SSRF in URL Preview APIs
LuTiao Programming
LuTiao Programming
Sep 23, 2026 · Backend Development

How to Add Passkey Authentication to Spring Boot with Spring Security 7.1

This guide demonstrates integrating Passkey/WebAuthn authentication into a Spring Boot application using Spring Security 7.1's built-in support, covering dependency setup, security configuration, frontend JavaScript implementation for credential registration and authentication, database persistence with JDBC repositories, and a migration strategy that retains password login while adding Passkey as a second factor.

JDBCJavaPasskey
0 likes · 17 min read
How to Add Passkey Authentication to Spring Boot with Spring Security 7.1
Java Captain
Java Captain
Sep 23, 2026 · Fundamentals

5 Common Java Memory Leak Scenarios and How to Detect Them

This article explains five common Java memory leak scenarios—long-lived collections, unclosed resources, ThreadLocal misuse, inner class references, and unregistered listeners—with code examples and recommends MAT and VisualVM for leak detection.

Inner ClassJavaMAT
0 likes · 5 min read
5 Common Java Memory Leak Scenarios and How to Detect Them
Java Tech Enthusiast
Java Tech Enthusiast
Sep 23, 2026 · Artificial Intelligence

Java AI Framework Selection: Infrastructure vs. Orchestration Layers Compared

This guide categorizes six major Java AI frameworks into infrastructure and orchestration layers, detailing Spring AI 2.0's Advisor chain, LangChain4j's model breadth, Solon AI's Java 8 compatibility, Spring AI Alibaba's workflow engine, AgentScope's production-grade harness, and Embabel's deterministic GOAP planning to match frameworks to project constraints and scenarios.

AI frameworksAgentScopeEmbabel
0 likes · 30 min read
Java AI Framework Selection: Infrastructure vs. Orchestration Layers Compared
JD Tech
JD Tech
Sep 22, 2026 · Backend Development

18 Advanced Java Coding Practices for High-Performance, Low-CPU Systems (Part 2)

This article details 18 advanced Java coding techniques (19-36) for high-performance, low-CPU systems, covering void/null avoidance, nested code flattening, final/static method optimization, primitive type usage, collection pre-sizing, memory management, immutable collections, loop optimization, wrapper caching, exception reuse, stack trace reduction, try-catch narrowing, bitwise operations, regex precompilation, memory alignment, constant-first comparisons, and batch processing.

Coding Best PracticesHigh PerformanceJVM
0 likes · 52 min read
18 Advanced Java Coding Practices for High-Performance, Low-CPU Systems (Part 2)
macrozheng
macrozheng
Sep 22, 2026 · Backend Development

Lithe: Lightweight Open-Source IDE for Java/Spring Boot AI Workflows

Lithe is an open-source lightweight IDE for Java and Spring Boot development that complements AI coding tools, offering project navigation, run/debug, Git diff, and database tools with ~300-400MB memory usage, auto-detected run configurations, and AI-generated commit messages.

AI-assisted developmentIDEJava
0 likes · 9 min read
Lithe: Lightweight Open-Source IDE for Java/Spring Boot AI Workflows
liandk
liandk
Sep 22, 2026 · Backend Development

Java Memory Leak Deep Dive: 10 Hidden Scenarios, MAT Analysis & Prevention

This comprehensive guide covers 10 hidden Java memory leak scenarios, a 6-step MAT-based investigation SOP, code-level fixes for ThreadLocal and static collections, emergency mitigation tactics, and long-term prevention standards to eliminate recurring OOM crashes.

GCJVMJava
0 likes · 15 min read
Java Memory Leak Deep Dive: 10 Hidden Scenarios, MAT Analysis & Prevention
java1234
java1234
Sep 22, 2026 · Backend Development

Why Developers Are Migrating to Apache PDFBox 3: Key Changes and Practical Examples

This article analyzes Apache PDFBox 3's major improvements over 2.x, including the new Loader API, incremental parsing for memory efficiency, rewritten IO layer with java.nio, and cleaner APIs, while providing practical code examples for loading PDFs, extracting text, and generating documents.

Apache PDFBox 3Backend DevelopmentJava
0 likes · 12 min read
Why Developers Are Migrating to Apache PDFBox 3: Key Changes and Practical Examples
Architect's Guide
Architect's Guide
Sep 22, 2026 · Fundamentals

Try-Catch Inside vs Outside For Loops: Behavior, Performance & When to Use Each

This article explains the critical behavioral difference when placing try-catch inside versus outside a for loop: outside placement terminates the loop on exception, while inside allows continuation. It also analyzes performance implications, showing negligible overhead when no exceptions occur but increased memory consumption if many iterations throw exceptions, and details the JVM exception table mechanics that underlie this behavior.

JavaPerformancebytecode
0 likes · 6 min read
Try-Catch Inside vs Outside For Loops: Behavior, Performance & When to Use Each
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Sep 22, 2026 · Backend Development

Dynamic Field Validation in Spring Boot via @DynamicValid and Argument Resolver

This article demonstrates how to implement per-endpoint dynamic field validation in Spring Boot 3.5.0 using a custom @DynamicValid annotation and HandlerMethodArgumentResolver, allowing flexible control over required, optional, and unknown fields for Map, JsonNode, or POJO parameters, with support for custom validators and integration with @Validated.

@DynamicValidBackend DevelopmentCustom Annotation
0 likes · 12 min read
Dynamic Field Validation in Spring Boot via @DynamicValid and Argument Resolver
Java Captain
Java Captain
Sep 21, 2026 · Backend Development

Java Collectors.toMap Pitfalls: Duplicate Keys, Null Values, and Safe Usage Patterns

This article explores hidden pitfalls in Java's Collectors.toMap including duplicate key exceptions, null value handling limitations, null key behavior, and null list safety, providing practical workarounds like merge functions and Optional-based null handling for robust stream-to-map conversions.

Collectors.toMapDuplicate KeysJDK 8
0 likes · 7 min read
Java Collectors.toMap Pitfalls: Duplicate Keys, Null Values, and Safe Usage Patterns
liandk
liandk
Sep 18, 2026 · Backend Development

Java Production Troubleshooting: Universal SOP & 10 Failure Cheat Sheet

This series finale presents a universal 6-step SOP for Java production troubleshooting, a bottom-up layered diagnosis model, a quick-reference guide for 10 common failure patterns with symptoms, root causes, and tools, plus five golden principles for incident handling.

ArthasGC AnalysisJVM
0 likes · 16 min read
Java Production Troubleshooting: Universal SOP & 10 Failure Cheat Sheet
Java Captain
Java Captain
Sep 17, 2026 · Backend Development

Building a Generic Web Authorization Annotation with JDK8: From Design to Compile-Time Validation

This article details the implementation of a generic @UserPermission annotation for horizontal authorization in Java web applications, covering annotation design, AOP-based interception, reflection-based parameter extraction, and compile-time validation using JDK8 annotation processors to prevent configuration errors.

Annotation ProcessingAuthorizationCompile-time Validation
0 likes · 19 min read
Building a Generic Web Authorization Annotation with JDK8: From Design to Compile-Time Validation
JD Tech
JD Tech
Sep 16, 2026 · Backend Development

18 Battle-Tested Java Coding Techniques for High-Performance, Low-CPU Systems (Part 1)

This article presents 18 practical coding techniques derived from million-QPS production systems to reduce CPU consumption and improve performance, covering type unification, string handling, loop optimization, caching strategies, and data structure selection with concrete before/after code examples.

Backend DevelopmentCPU OptimizationCoding Best Practices
0 likes · 67 min read
18 Battle-Tested Java Coding Techniques for High-Performance, Low-CPU Systems (Part 1)
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Sep 15, 2026 · Backend Development

Five MapStruct Mistakes That Make Code Harder to Maintain

This article identifies five common MapStruct misuses — complex logic in @Mapping expressions, missing bidirectional relationship handling, over-mapping in hot paths, injecting business services into mappers, and naive PATCH updates — and shows correct Java alternatives for each case.

Code MaintainabilityJPAJava
0 likes · 11 min read
Five MapStruct Mistakes That Make Code Harder to Maintain
liandk
liandk
Sep 14, 2026 · Backend Development

Java Thread Deadlock & Pool Exhaustion: Production Troubleshooting Guide

This guide covers real-world diagnosis and resolution of Java thread deadlocks and thread pool exhaustion — the two most common causes of service hangs with zero errors — using jstack, Arthas, and thread-state analysis to pinpoint root causes and apply permanent fixes.

ArthasJavaProduction Troubleshooting
0 likes · 13 min read
Java Thread Deadlock & Pool Exhaustion: Production Troubleshooting Guide
SpringMeng
SpringMeng
Sep 14, 2026 · Backend Development

Maven-mvnd: Drop-In Replacement for Faster Java Builds via Daemon & GraalVM

This article introduces Maven-mvnd (mvnd), a drop-in replacement for Apache Maven that uses a persistent daemon process and GraalVM native executables to dramatically accelerate build times, especially for multi-module projects, while maintaining full compatibility with existing Maven POM files and commands.

CI/CDGraalVMJava
0 likes · 9 min read
Maven-mvnd: Drop-In Replacement for Faster Java Builds via Daemon & GraalVM
liandk
liandk
Sep 13, 2026 · Backend Development

Java CPU 100% Spike: Complete Production Troubleshooting & Root Cause Analysis

This article provides a comprehensive guide to troubleshooting Java CPU 100% spikes in production, covering root cause categories, a standard SOP using top, jstack, and thread analysis, a real-world infinite loop case study, GC-related CPU issues, emergency mitigation steps, and long-term prevention practices.

CPU troubleshootingJavaRoot Cause Analysis
0 likes · 13 min read
Java CPU 100% Spike: Complete Production Troubleshooting & Root Cause Analysis
Architect's Guide
Architect's Guide
Sep 10, 2026 · Backend Development

Apollo Configuration Center: Complete Guide from Core Concepts to Kubernetes Deployment

This article provides a comprehensive tutorial on Apollo configuration center, covering its core concepts (application, environment, cluster, namespace), client architecture with long-polling and local caching, overall system design with Config/Admin services and Eureka, availability scenarios, hands-on SpringBoot integration with Maven setup, dynamic configuration testing (updates, rollbacks, offline fallback), multi-environment/cluster/namespace usage, and Kubernetes deployment via Docker and YAML manifests.

Configuration CenterCtripJava
0 likes · 27 min read
Apollo Configuration Center: Complete Guide from Core Concepts to Kubernetes Deployment
liandk
liandk
Sep 9, 2026 · Backend Development

Master Arthas: Zero-Downtime Java Debugging, Live Logs & Hot Code Reload

This guide demonstrates how to use Arthas, Alibaba's open-source Java diagnostic tool, to troubleshoot production issues without downtime—covering installation, core commands (dashboard, trace, watch, stack, logger, redefine), three real-world case studies, and critical production safety rules.

ArthasHot ReloadJava
0 likes · 12 min read
Master Arthas: Zero-Downtime Java Debugging, Live Logs & Hot Code Reload
Architect Chen
Architect Chen
Sep 9, 2026 · Fundamentals

Java Adapter Pattern: Class vs Object Adapters with Code Examples

This article explains the Java Adapter design pattern, covering its definition, roles (Target, Adapter, Adaptee), and two implementation approaches—class adapter using inheritance and object adapter using composition—with complete code examples for each.

Adapter PatternClass AdapterComposition
0 likes · 4 min read
Java Adapter Pattern: Class vs Object Adapters with Code Examples
CodeOnCode
CodeOnCode
Sep 9, 2026 · Backend Development

Beyond Pause Times: Deep Dive into G1 GC Log Analysis for Java Performance Tuning

This article teaches how to analyze G1 GC logs beyond simple pause times by breaking down phase timings, heap changes, GC causes, and concurrent marking overhead, then mapping log signals like high Update RS or Object Copy to concrete code-level issues such as excessive reference writes, humongous allocations, or weak reference abuse.

Backend DevelopmentG1 GCGC Logs
0 likes · 27 min read
Beyond Pause Times: Deep Dive into G1 GC Log Analysis for Java Performance Tuning
Java Tech Workshop
Java Tech Workshop
Sep 9, 2026 · Fundamentals

Why Your Custom java.lang.String Can Never Replace the JDK's String

This article explains why a custom java.lang.String class cannot replace the JDK's String, detailing the parent delegation class loading model, Bootstrap ClassLoader's role, core class protection mechanisms, Java 9+ module system restrictions, and why attempts to bypass these (custom class loaders, -Xbootclasspath, --patch-module, Java Agents) fail or are unsafe.

Bootstrap ClassLoaderClass LoadingCore Class Protection
0 likes · 23 min read
Why Your Custom java.lang.String Can Never Replace the JDK's String
samdeepthink
samdeepthink
Sep 9, 2026 · Backend Development

Separation of Concerns: Decoupling SDK Details from Business Logic

The article illustrates Separation of Concerns beyond AOP by refactoring a reconciliation service that mixes WeChat Pay and Alipay SDK calls with business logic, introducing a wrapper layer with custom types to isolate SDK-specific parsing from core matching rules, enabling independent evolution of each concern.

JavaReconciliation ServiceSDK Integration
0 likes · 7 min read
Separation of Concerns: Decoupling SDK Details from Business Logic
SpringMeng
SpringMeng
Sep 9, 2026 · Backend Development

Spring Boot + Tess4j: Build OCR REST API Step by Step

This tutorial demonstrates how to integrate Tess4j with Spring Boot to create an OCR REST API, covering dependency setup, Tesseract engine initialization with language data configuration, image preprocessing tips, and a working controller example, plus a comparison of popular OCR engines and alternatives for improved Chinese text recognition.

Chinese text recognitionJavaOCR
0 likes · 9 min read
Spring Boot + Tess4j: Build OCR REST API Step by Step
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Sep 9, 2026 · Backend Development

Refactoring 7 Duplicate Notification Services Using Template Method Pattern in Spring Boot

The article demonstrates how to correctly apply the DRY principle by refactoring seven duplicated notification service classes in Spring Boot 3.5.0 using the template method pattern and a NotificationMessage value object, consolidating 40 lines of repeated validation, logging, and error handling into a single abstract base class.

DRY PrincipleDesign PatternsJava
0 likes · 12 min read
Refactoring 7 Duplicate Notification Services Using Template Method Pattern in Spring Boot
macrozheng
macrozheng
Sep 8, 2026 · Backend Development

Why Hutool 5 Dominates Java Projects: One Library Replaces Dozens of Custom Utils

This article analyzes why Hutool 5 has become the standard Java utility library, detailing its modular design, code reduction benefits, performance improvements over JDK, and comparison with Guava and Apache Commons, while providing practical migration examples for strings, dates, files, HTTP, JSON, and AI integration.

AI IntegrationBackend DevelopmentHutool
0 likes · 23 min read
Why Hutool 5 Dominates Java Projects: One Library Replaces Dozens of Custom Utils
Architect Chen
Architect Chen
Sep 8, 2026 · Fundamentals

Java Decorator Pattern: Complete Guide with Pros, Cons & Code Examples

This article provides a comprehensive explanation of the Java Decorator pattern, covering its definition, purpose, advantages, disadvantages, and a complete implementation example with four key roles and runnable code demonstrating dynamic behavior extension.

Code ExamplesDecorator PatternDesign Patterns
0 likes · 5 min read
Java Decorator Pattern: Complete Guide with Pros, Cons & Code Examples
liandk
liandk
Sep 7, 2026 · Backend Development

Why Your Troubleshooting Is Slow: The 4-Step Framework Senior Java Developers Use

This article contrasts junior developers' trial-and-error debugging with senior engineers' structured four-step method — confirm symptoms, layer-by-layer isolation, evidence-based root-cause analysis, and closed-loop remediation — to cut production incident resolution from hours to minutes.

JVMJavaRoot Cause Analysis
0 likes · 8 min read
Why Your Troubleshooting Is Slow: The 4-Step Framework Senior Java Developers Use
Java Tech Enthusiast
Java Tech Enthusiast
Sep 7, 2026 · Backend Development

Java Virtual Threads: Why Production Adoption Lagged Behind the Hype

The article analyzes why Java virtual threads, despite promising million-concurrency with minimal code changes, see little production adoption due to pinning with synchronized, ThreadLocal memory pressure, incomplete framework support, and CPU-bound workload mismatch, while showing benchmarks where they excel in I/O-heavy services but migration costs deter legacy systems.

JDK 21JavaPerformance
0 likes · 12 min read
Java Virtual Threads: Why Production Adoption Lagged Behind the Hype
macrozheng
macrozheng
Sep 7, 2026 · Backend Development

Java Virtual Threads: Why the 'Million Concurrency' Promise Failed in Production

This article analyzes why Java virtual threads, despite promising million-concurrency with minimal overhead, see little production adoption due to pinning with synchronized blocks, ThreadLocal memory explosions, incomplete framework support, and unsuitability for CPU-bound workloads, while showing benchmarks where they excel in I/O-heavy scenarios.

JDK 21JavaPerformance
0 likes · 12 min read
Java Virtual Threads: Why the 'Million Concurrency' Promise Failed in Production
Java Tech Workshop
Java Tech Workshop
Sep 7, 2026 · Backend Development

From Java Code to CPU Instructions: A Method Call's Complete Journey

This article traces a Java method call through five stages: compilation to bytecode, class loading with vtable resolution, interpretation via stack frames, JIT compilation with optimizations like inlining and escape analysis, and final execution as machine code on CPU pipelines.

CPU pipelineClass LoadingHotSpot
0 likes · 30 min read
From Java Code to CPU Instructions: A Method Call's Complete Journey
LuTiao Programming
LuTiao Programming
Sep 6, 2026 · Artificial Intelligence

Spring AI 2.0 Tool Search: Stop Flooding LLMs with Dozens of Tools

The author migrates a Spring AI Agent with 30+ business tools to Spring AI 2.0's Tool Search, which uses Lucene indexing to let the model search for relevant tools before calling them, reducing context overload and improving selection accuracy, while sharing best practices for tool descriptions and safe write-operation handling.

AI AgentAgent ArchitectureJava
0 likes · 15 min read
Spring AI 2.0 Tool Search: Stop Flooding LLMs with Dozens of Tools
Coder Trainee
Coder Trainee
Sep 4, 2026 · Backend Development

ComfyUI Java Integration: 3 Open-Source Solutions from Lightweight SDK to Full-Stack Product

This article reviews three open-source Java solutions for integrating ComfyUI AI image generation: a lightweight SDK (ComfyUiApiJava), an API aggregation layer (comfy-flow-api) with Spring Boot 3, and a full-stack enterprise platform (comfyui-openrouter-ai) with user management, credits, and WebSocket progress, helping developers choose by complexity and needs.

AI image generationBackend IntegrationComfyUI
0 likes · 9 min read
ComfyUI Java Integration: 3 Open-Source Solutions from Lightweight SDK to Full-Stack Product
Java Architect Handbook
Java Architect Handbook
Sep 4, 2026 · Backend Development

Dynamic Service Provider Switching with Spring-Smart-DI's @AutowiredProxySPI

This tutorial demonstrates how to use Spring-Smart-DI's @AutowiredProxySPI annotation to dynamically switch between multiple service implementations (e.g., SMS providers) at runtime by changing configuration values, without application restarts, using proxy-based injection that resolves the active implementation on each call.

Backend DevelopmentDependency InjectionJava
0 likes · 8 min read
Dynamic Service Provider Switching with Spring-Smart-DI's @AutowiredProxySPI
ITPUB
ITPUB
Sep 3, 2026 · Backend Development

Master Java Callbacks & Functional Programming: Write Elegant, Structured Code Beyond CRUD

This article explains Java callback mechanisms — synchronous and asynchronous — through interfaces, anonymous classes, lambdas, and CompletableFuture, demonstrates their use in Spring's BeanFactory and a payment integration, and shows how functional interfaces enable flexible data transformation for multi-bank integration.

CallbackCompletableFutureDesign Patterns
0 likes · 15 min read
Master Java Callbacks & Functional Programming: Write Elegant, Structured Code Beyond CRUD
java1234
java1234
Sep 3, 2026 · Backend Development

MyBatis-Plus 3.5.15: Spring Boot 4.0 & Jackson 3.0 Support Explained

This article details MyBatis-Plus 3.5.15's new support for Spring Boot 4.0 and Jackson 3.0, providing step-by-step migration guidance including starter dependency changes, JSON field handling with Jackson3TypeHandler, and common upgrade pitfalls like starter mismatches and factoryBeanObjectType errors.

Jackson 3.0JavaMyBatis-Plus
0 likes · 13 min read
MyBatis-Plus 3.5.15: Spring Boot 4.0 & Jackson 3.0 Support Explained
Java Tech Workshop
Java Tech Workshop
Sep 3, 2026 · Backend Development

Why Adding a Method Breaks Java Deserialization: The Implicit serialVersionUID Trap

This article explains how Java's implicit serialVersionUID causes deserialization failures when class structure changes, details how the JVM calculates it, shows source-level version checking in ObjectStreamClass, lists compatible and incompatible changes, and covers custom serialization mechanisms like transient, writeObject/readObject, and Externalizable.

Backward CompatibilityInvalidClassExceptionJVM
0 likes · 20 min read
Why Adding a Method Breaks Java Deserialization: The Implicit serialVersionUID Trap
Java Architecture Diary
Java Architecture Diary
Sep 3, 2026 · Backend Development

Two Scheduled Tasks, Eleven Quartz Tables? db-scheduler Offers a Single-Table Alternative for Spring Boot

The article compares Spring @Scheduled, Quartz, and db-scheduler for clustered scheduling, showing how db-scheduler uses a single database table to provide cluster-safe mutex, persistence, and one-time delayed tasks without the overhead of Quartz's eleven tables or external middleware.

JavaSpring Bootcluster scheduling
0 likes · 13 min read
Two Scheduled Tasks, Eleven Quartz Tables? db-scheduler Offers a Single-Table Alternative for Spring Boot
Programmer1970
Programmer1970
Sep 2, 2026 · Backend Development

One TINYINT Field, Four Notification Switches: Bitmask Pattern in Practice

This article demonstrates how to store four independent notification channel switches (SMS, email, in-app, WeChat) in a single MySQL TINYINT column using bitwise operations, covering schema design, SQL queries, Java enum and utility classes, service and controller layers, MyBatis mapper, extensibility to N channels, and key considerations like indexing, concurrency, and readability.

JavaMyBatisMySQL
0 likes · 14 min read
One TINYINT Field, Four Notification Switches: Bitmask Pattern in Practice
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Sep 2, 2026 · Backend Development

How to Build a Scalable Notification Service with Spring Boot

The article explains why notification services are hard—slow delivery, unreliable third‑party providers, and status tracking—and shows how to solve these issues by fully decoupling the API from workers using a message queue, with detailed Spring Boot code examples and scaling strategies.

JavaNotification ServiceRabbitMQ
0 likes · 10 min read
How to Build a Scalable Notification Service with Spring Boot
LuTiao Programming
LuTiao Programming
Sep 1, 2026 · Backend Development

Why I Dropped @FeignClient After Years of Use: Spring Boot’s Built‑In HTTP Service Client

The author refactors an old Spring Cloud project by removing Feign, replacing @FeignClient with Spring Boot 4.x’s native @HttpExchange and @ImportHttpServices, and demonstrates that Spring’s built‑in HTTP Service Client provides the same declarative convenience with less boilerplate, while still supporting custom configuration, error handling, and reactive use cases.

Declarative HTTPFeignHTTP Service Client
0 likes · 14 min read
Why I Dropped @FeignClient After Years of Use: Spring Boot’s Built‑In HTTP Service Client
samdeepthink
samdeepthink
Sep 1, 2026 · Fundamentals

Why Java Static Blocks Aren’t Executed First

The article explains that Java static blocks are not always the first code to run during class loading because static field initializers and static blocks are executed in the order they appear in the source, and a static field can trigger instance initialization.

Class LoadingJavaJava fundamentals
0 likes · 6 min read
Why Java Static Blocks Aren’t Executed First
macrozheng
macrozheng
Sep 1, 2026 · Information Security

Why Sa-Token Is Winning Over Developers: A Java Authentication Efficiency Revolution

Sa-Token has rapidly become the go‑to Java permission framework because it abstracts and automates common security concerns, offers a lightweight Core‑Plugin‑Adapter architecture, supports plug‑in storage like Redis, and lets developers implement login, logout and permission checks with a single line of code, dramatically reducing development time compared with Spring Security.

AuthorizationDistributed SessionJava
0 likes · 16 min read
Why Sa-Token Is Winning Over Developers: A Java Authentication Efficiency Revolution
AliExpress Tech
AliExpress Tech
Sep 1, 2026 · Backend Development

Designing an AI-Powered, Zero-Impact Checker Attack‑Defense System for AliExpress

The article details how the massive 700‑plus error‑code validation system in AliExpress’s marketing pipeline is protected by an AI‑driven, multi‑phase attack‑defence pipeline that leverages Saiga Mock for non‑destructive testing, MQ‑driven orchestration, and plug‑in sub‑engines to achieve rapid, risk‑free verification.

AIAttack-DefenseChecker
0 likes · 28 min read
Designing an AI-Powered, Zero-Impact Checker Attack‑Defense System for AliExpress
LuTiao Programming
LuTiao Programming
Aug 31, 2026 · Backend Development

Why Disabled Buttons Still Produce Duplicate Orders – Rebuilding Idempotency in Spring Boot

The article examines a common duplicate‑order bug caused by client retries after network timeouts, explains why @Transactional alone cannot guarantee idempotency, critiques simple Redis SETNX solutions, and presents a robust Spring Boot design that stores idempotency records together with order data in a single MySQL transaction, uses request fingerprints, unique keys, and owner tokens to safely replay or reject retries while handling concurrency and cleanup.

@TransactionalAPI DesignJava
0 likes · 19 min read
Why Disabled Buttons Still Produce Duplicate Orders – Rebuilding Idempotency in Spring Boot
Java Architect Handbook
Java Architect Handbook
Aug 31, 2026 · Backend Development

Say Goodbye to If‑Else Nightmares with Flow Orchestration

The article explains how excessive if‑else logic in Java back‑ends harms code isolation and scalability, and demonstrates a practical workflow‑orchestration solution using a FlowChain engine, complete with configuration, node definitions, execution flow, and source code examples from the open‑source MemberClub project.

BackendFlow OrchestrationJava
0 likes · 8 min read
Say Goodbye to If‑Else Nightmares with Flow Orchestration
samdeepthink
samdeepthink
Aug 31, 2026 · Fundamentals

Why Java Arrays Have No Constructors and How the JVM Instantiates Them

The article explains that Java arrays, unlike regular objects, lack constructors because the JVM creates them directly via special bytecode instructions, automatically zero‑initialising elements and exposing length as a field, which trades flexibility for simplicity and performance.

JVMJavaarrays
0 likes · 6 min read
Why Java Arrays Have No Constructors and How the JVM Instantiates Them
Java Tech Workshop
Java Tech Workshop
Aug 31, 2026 · Backend Development

Add a Dependency and It Just Works: One‑Line Spring Boot Starter Auto‑Configuration

This article explains why adding a Spring Boot starter dependency instantly creates the required beans without XML or manual configuration, walks through the auto‑configuration mechanism—including @EnableAutoConfiguration, AutoConfigurationImportSelector, and conditional annotations—and shows step‑by‑step how to build a custom starter from scratch with Maven, configuration properties, an aspect, and registration files.

Auto-configurationConditional AnnotationsJava
0 likes · 21 min read
Add a Dependency and It Just Works: One‑Line Spring Boot Starter Auto‑Configuration
LuTiao Programming
LuTiao Programming
Aug 30, 2026 · Databases

I Finally Deleted the Java Code That Reads the Whole Redis Object to Update One Field

The article explains how the old pattern of GET‑ing an entire JSON string from Redis, deserializing it in Java, modifying a single field and writing it back is inefficient and error‑prone, and shows how Spring Data Redis 4.2’s RedisJsonTemplate lets you update or read individual JSON paths directly, reducing code, network traffic and race‑condition risks.

JSONJavaRedis
0 likes · 15 min read
I Finally Deleted the Java Code That Reads the Whole Redis Object to Update One Field
samdeepthink
samdeepthink
Aug 30, 2026 · Fundamentals

Understanding the Open‑Closed Principle Through Spring’s Extension Hooks

The article explains the Open‑Closed Principle, shows how Spring leaves empty hook methods like onRefresh() for extensions, demonstrates the concept with a Java demo, compares inheritance‑based and interface‑based extension approaches, and discusses trade‑offs and practical guidelines for designing extension points.

Design PatternsExtension HooksJava
0 likes · 10 min read
Understanding the Open‑Closed Principle Through Spring’s Extension Hooks
CodeSmart Hoops
CodeSmart Hoops
Aug 30, 2026 · Backend Development

Classic gRPC Interview Questions with Answers – Must‑Save for Your Prep

This article presents eight self‑test gRPC interview questions covering performance, contract, cross‑language support, streaming, HTTP/2 fundamentals, Protobuf field tags, call patterns, retryable status codes, load‑balancing policies, interceptor usage, and Spring Boot 3 integration, each accompanied by concise reference answers.

HTTP/2InterceptorsJava
0 likes · 23 min read
Classic gRPC Interview Questions with Answers – Must‑Save for Your Prep
Coder Trainee
Coder Trainee
Aug 29, 2026 · Backend Development

When @Transactional Goes Wrong: Misusing Transaction Propagation Leads to Deadlocks

A real‑world case shows that using @Transactional with the default REQUIRED propagation caused a long‑running transaction, frequent deadlocks, data inconsistency and higher timeout rates, and the article walks through the root cause, investigation steps, and practical fixes such as REQUIRES_NEW, self‑proxy calls, and async eventual consistency.

@TransactionalBackendJava
0 likes · 9 min read
When @Transactional Goes Wrong: Misusing Transaction Propagation Leads to Deadlocks
The Dominant Programmer
The Dominant Programmer
Aug 29, 2026 · Artificial Intelligence

Harness Engineering with Spring AI Alibaba: Theory, Architecture, and Full Implementation Guide

This comprehensive guide walks through Harness Engineering concepts, the seven‑layer architecture, environment setup, full Spring Boot codebase, agent configuration, best‑practice recommendations, testing procedures, common issues, and advanced directions for building controllable AI agents with Spring AI Alibaba.

AI agentsAgent ArchitectureHarness Engineering
0 likes · 34 min read
Harness Engineering with Spring AI Alibaba: Theory, Architecture, and Full Implementation Guide
samdeepthink
samdeepthink
Aug 29, 2026 · Fundamentals

Why a Contract‑Compliant List Still Breaks Liskov Substitution in Java

The article demonstrates that although List.of, Arrays.asList, and unmodifiableList implement the List interface, they violate the Liskov Substitution Principle because their optional add/remove operations throw UnsupportedOperationException, revealing a hidden contract mismatch between interface documentation and runtime behavior.

Immutable CollectionsJavaLiskov Substitution Principle
0 likes · 13 min read
Why a Contract‑Compliant List Still Breaks Liskov Substitution in Java
Coder Trainee
Coder Trainee
Aug 28, 2026 · Backend Development

I Almost Got Fired Using Parallel Stream in Production

A production outage caused by Java 8 parallel streams exposed the dangers of the default commonPool, unlimited task queuing, and long‑running API calls, leading to 100% CPU, 30+ GC events per hour, and a near‑service collapse, which was resolved by custom thread pools, timeouts, and CompletableFuture alternatives.

CompletableFutureForkJoinPoolJava
0 likes · 7 min read
I Almost Got Fired Using Parallel Stream in Production
ITPUB
ITPUB
Aug 28, 2026 · Backend Development

Why Java’s Optional Is Still Ignored After 10 Years – The Real Bottlenecks

The article dissects why Java 8’s Optional, despite being a dedicated null‑pointer remedy, remains unpopular, examines common misconceptions, misuse pitfalls, unsuitable scenarios, and finally presents three concrete situations where Optional truly shines, backed by code examples and practical guidance.

JavaNullPointerExceptionOptional
0 likes · 10 min read
Why Java’s Optional Is Still Ignored After 10 Years – The Real Bottlenecks
Code Ape Tech Column
Code Ape Tech Column
Aug 28, 2026 · Databases

Redis Transforms into AI Data Infrastructure: Vector Search, Vector Sets, Semantic Cache & Agent Memory

This article details Redis's evolution into a comprehensive AI data infrastructure, covering its four core capabilities—vector search with hybrid queries, native Vector Sets data type, LangCache semantic caching for 70% LLM cost reduction, and Redis Iris context engine for AI agent memory—with technical implementations, performance benchmarks, and use-case recommendations.

AI agent memoryHNSWJava
0 likes · 16 min read
Redis Transforms into AI Data Infrastructure: Vector Search, Vector Sets, Semantic Cache & Agent Memory