Tagged articles

Java

5000 articles · Page 3 of 50
LuTiao Programming
LuTiao Programming
Jul 10, 2026 · Backend Development

Using Codex to Automate Full Java Spring Boot Tasks, Not Just Generate Code

The article explains how Java developers can treat Codex as an engineering agent that executes complete, well‑scoped Spring Boot tasks—by defining project rules, isolating work in a Git worktree, crafting detailed prompts with acceptance criteria, and reviewing changes in stages—to save repetitive development effort.

AGENTS.mdAI codingCodex
0 likes · 18 min read
Using Codex to Automate Full Java Spring Boot Tasks, Not Just Generate Code
Coder Trainee
Coder Trainee
Jul 10, 2026 · Fundamentals

Top 10 Essential Java Interview Questions: Fundamentals Edition

This article presents ten high‑frequency Java interview questions covering value vs. reference passing, String vs. StringBuilder vs. StringBuffer, == vs. equals, hashCode/equals contract, final/finally/finalize, abstract class vs. interface, reference types, static vs. non‑static inner classes, generics with type erasure, and the exception hierarchy, each with concise explanations, code examples, and extra insights for rapid interview preparation.

InterviewJVMJava
0 likes · 11 min read
Top 10 Essential Java Interview Questions: Fundamentals Edition
Yumin Fish Harvest
Yumin Fish Harvest
Jul 10, 2026 · Fundamentals

Distinguishing Entities vs Value Objects in DDD: Criteria & Code

Learn how to tell whether a domain concept is an Entity or a Value Object by asking if its identity matters or only its attributes, see concrete examples with Money, Address and Order, understand immutable design, proper equals/hashCode implementation, and validation through unit tests.

Domain-Driven DesignImmutableJava
0 likes · 13 min read
Distinguishing Entities vs Value Objects in DDD: Criteria & Code
Yumin Fish Harvest
Yumin Fish Harvest
Jul 10, 2026 · Backend Development

Why Traditional Service Layers Fail and How DDD Restores Order

The article shows how a typical three‑layer OrderService accumulates scattered business rules, mixes technical details with domain logic, lacks clear boundaries, and diverges from business language, then explains how Domain‑Driven Design reorganizes code around aggregates and bounded contexts to solve these problems while outlining when DDD is unnecessary.

DDDDomain-Driven DesignJava
0 likes · 11 min read
Why Traditional Service Layers Fail and How DDD Restores Order
Java Tech Enthusiast
Java Tech Enthusiast
Jul 10, 2026 · Artificial Intelligence

Add AI to Your Java Project in Just a Few Lines with Spring AI 2.0

Spring AI 2.0 lets Java developers integrate large‑language‑model capabilities with minimal code by adding a starter, configuring model parameters, injecting a ChatClient bean, and optionally enabling Redis‑backed chat memory for multi‑turn conversations, all demonstrated with runnable examples and screenshots.

AI integrationChat MemoryChatGPT
0 likes · 13 min read
Add AI to Your Java Project in Just a Few Lines with Spring AI 2.0
Java Architect Handbook
Java Architect Handbook
Jul 10, 2026 · Artificial Intelligence

Spring AI 2.0 vs Spring AI Alibaba: Which One Should You Choose?

This article compares Spring AI 2.0 and Spring AI Alibaba, detailing their design philosophies, core architectures, recent upgrades, code examples, strengths, weaknesses, and ideal use‑cases, and explains how the two frameworks can be combined for enterprise AI solutions.

AI integrationGraph engineJava
0 likes · 19 min read
Spring AI 2.0 vs Spring AI Alibaba: Which One Should You Choose?
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jul 10, 2026 · Fundamentals

13 Common Java Pitfalls You Might Be Falling Into

This article enumerates thirteen frequent Java mistakes—from returning null and misusing string concatenation to improper synchronization and lock handling—showing the flawed code, explaining why it is problematic, and providing concise, correct alternatives with runnable examples.

ConcurrentModificationExceptionJavaJava21
0 likes · 14 min read
13 Common Java Pitfalls You Might Be Falling Into
The Dominant Programmer
The Dominant Programmer
Jul 9, 2026 · Backend Development

Full Spring Boot Example: Integrating Spring AI with Local Ollama for Fast AI Chat

This tutorial walks through installing Ollama, configuring JDK 17, adding Spring AI dependencies, setting up application.yml, implementing a chat controller, creating launch scripts, testing the endpoints, and comparing local Ollama with Alibaba Cloud Bailei, highlighting cost‑free, private, offline AI chat in a Spring Boot project.

JavaOllamaSpring AI
0 likes · 16 min read
Full Spring Boot Example: Integrating Spring AI with Local Ollama for Fast AI Chat
Coder Trainee
Coder Trainee
Jul 9, 2026 · Backend Development

Java Concurrency Deep Dive – Part 8: Real‑World Pitfalls and Post‑mortem

This article reviews common Java concurrency pitfalls—including deadlocks, ThreadLocal memory leaks, Integer‑cache loops, unbounded thread‑pool queues, and swallowed exceptions—illustrates each with code samples, analyzes real production incidents, and provides a concise checklist and tool‑selection guide for safe concurrent programming.

ConcurrencyConcurrentHashMapDeadlock
0 likes · 9 min read
Java Concurrency Deep Dive – Part 8: Real‑World Pitfalls and Post‑mortem
Java Tech Enthusiast
Java Tech Enthusiast
Jul 9, 2026 · Backend Development

Why AI Coding Tools Are Racing to Task Orchestration—and What It Means for Java Developers

The latest updates to Codex, Claude Code, Cursor and ZCode show AI coding tools shifting from single‑prompt chat to distributed task orchestration, prompting Java teams to adopt persistent job queues, state machines, worktree isolation, OpenTelemetry tracing and fine‑grained retry policies to manage AI‑driven development pipelines.

AI codingJavaJobRunr
0 likes · 20 min read
Why AI Coding Tools Are Racing to Task Orchestration—and What It Means for Java Developers
Long Ge's Treasure Box
Long Ge's Treasure Box
Jul 9, 2026 · Backend Development

Mastering WebSocket: Full‑Duplex Communication, Server Push, and Real‑Time Messaging Implementations

This article explains WebSocket fundamentals, compares it with HTTP polling, details the handshake and frame format, and provides complete server‑side examples in Python, FastAPI, Go, and Java Spring, followed by a full real‑time chat system with private messaging, database schema, heartbeat handling, and Redis‑based online presence management.

FastAPIGoJava
0 likes · 13 min read
Mastering WebSocket: Full‑Duplex Communication, Server Push, and Real‑Time Messaging Implementations
IoT Full-Stack Technology
IoT Full-Stack Technology
Jul 9, 2026 · Backend Development

Comprehensive Collection of Java Backend Architecture Diagrams

This article compiles a comprehensive set of 31 Java‑related architecture diagrams, covering core components such as the class loader, JVM, threading, Spring, Hibernate, as well as related technologies like Android, Linux kernel, cloud computing, and enterprise solutions, each illustrated with detailed images.

AndroidJVMJava
0 likes · 5 min read
Comprehensive Collection of Java Backend Architecture Diagrams
Java Backend Technology
Java Backend Technology
Jul 9, 2026 · Cloud Native

Quarkus 3.37 Beats Spring Boot: 50× Faster Startup and 70% Less Memory

Quarkus 3.37, released on June 24, 2026, introduces experimental JLink support, a full Hibernate ORM 7.4 upgrade, a reflection‑free Jackson serializer, AI‑native extensions, and numerous bug fixes, delivering up to 50‑fold faster startup, 70% lower memory usage, and measurable performance gains for Java cloud‑native applications.

AIJLinkJackson
0 likes · 11 min read
Quarkus 3.37 Beats Spring Boot: 50× Faster Startup and 70% Less Memory
Java Tech Workshop
Java Tech Workshop
Jul 9, 2026 · Backend Development

Build a Custom Spring Boot Starter to Package Common Utilities for One-Click Integration

The article walks through creating a custom Spring Boot starter that bundles common utilities such as unified response wrapping, global exception handling, type converters, thread pools, login context, and data masking, showing the standard two‑module structure, Maven setup, configuration properties, conditional annotations, and usage in a business project.

JavaMavenSpring Boot
0 likes · 15 min read
Build a Custom Spring Boot Starter to Package Common Utilities for One-Click Integration
SpringMeng
SpringMeng
Jul 9, 2026 · Backend Development

Elegant Online User Count with Redis Sorted Sets (ZSET)

This article explains how to implement an online user counting feature by using Redis sorted sets, covering user identification (token or browser fingerprint), adding users with ZADD, querying current online users with ZRANGEBYSCORE, and cleaning up expired entries via ZREMRANGEBYSCORE and ZREM.

JavaRedisZSet
0 likes · 6 min read
Elegant Online User Count with Redis Sorted Sets (ZSET)
Architecture & Thinking
Architecture & Thinking
Jul 9, 2026 · Backend Development

Prevent Cache Avalanche with Multi‑Level Caffeine + Redis: High‑Availability Design

The article explains how combining a local Caffeine cache with a Redis cluster in a three‑tier architecture can protect high‑traffic distributed systems from cache avalanche, detailing expiration strategies, hot‑cold data separation, fault‑tolerant fallback, consistency handling, performance benchmarks, and practical pitfalls.

Cache AvalancheCaffeineJava
0 likes · 18 min read
Prevent Cache Avalanche with Multi‑Level Caffeine + Redis: High‑Availability Design
LuTiao Programming
LuTiao Programming
Jul 8, 2026 · Backend Development

AI Hotspots Shift: GPT Real‑Time Voice, Seedance Video, Grok Coding – Pressure on Java Back‑ends

Recent AI releases—OpenAI’s GPT‑Live for full‑duplex voice, ByteDance’s Seedance for multi‑shot video generation, and xAI’s Grok 4.5 for coding and knowledge work—force Java back‑end teams to evolve from handling orders and queues to managing diverse AI capabilities, routing, task orchestration, cost, audit and security.

AI integrationGPT‑LiveGrok
0 likes · 19 min read
AI Hotspots Shift: GPT Real‑Time Voice, Seedance Video, Grok Coding – Pressure on Java Back‑ends
Coder Trainee
Coder Trainee
Jul 8, 2026 · Backend Development

Deep Dive into Java Concurrency: Analyzing the ConcurrentHashMap Source (Part 7)

This article thoroughly examines Java's ConcurrentHashMap by tracing its evolution from JDK 1.5's segment‑lock design to JDK 8's CAS‑plus‑synchronized implementation, detailing internal structures, put/get algorithms, resizing mechanics, performance trade‑offs, and common interview questions.

ConcurrencyConcurrentHashMapJDK7
0 likes · 12 min read
Deep Dive into Java Concurrency: Analyzing the ConcurrentHashMap Source (Part 7)
Su San Talks Tech
Su San Talks Tech
Jul 8, 2026 · Artificial Intelligence

How to Build a Chat Service with Memory Using Spring AI 2.0

This article walks through integrating Spring AI 2.0 into a Spring Boot project, configuring model access, implementing synchronous and streaming chat endpoints, and adding Redis‑backed conversation memory to enable true multi‑turn interactions with large language models.

Chat MemoryChatClientJava
0 likes · 14 min read
How to Build a Chat Service with Memory Using Spring AI 2.0
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jul 8, 2026 · Backend Development

How to Efficiently Upload GB‑Scale Files with Spring Boot

The article explains why traditional single‑file uploads fail for files over 100 MB, introduces a chunked upload architecture, provides complete Spring Boot controller code for initializing, uploading, merging chunks, shows high‑performance merging with RandomAccessFile, front‑end chunk handling with progress, resumable checks, HMAC verification, and optional MinIO storage.

Chunked UploadJavaLarge Files
0 likes · 11 min read
How to Efficiently Upload GB‑Scale Files with Spring Boot
Tinker Programmer
Tinker Programmer
Jul 8, 2026 · Backend Development

10 Common DDD Mistakes and How to Avoid Them

This article reviews ten frequent misuses of Domain‑Driven Design—ranging from over‑engineering simple CRUD apps to misusing layers, aggregates, services, repositories, and events—provides concrete counter‑examples, explains why they happen, and offers practical corrective guidelines plus a self‑check checklist.

DDDDomain modelingJava
0 likes · 18 min read
10 Common DDD Mistakes and How to Avoid Them
IoT Full-Stack Technology
IoT Full-Stack Technology
Jul 8, 2026 · Backend Development

Comprehensive Collection of Java Backend Architecture Diagrams

This article presents a curated list of 31 Java backend architecture diagrams, covering class loader, JVM, technology stack, thread runtime, compilation, JMS, JMX, Spring, Hibernate, iBATIS, Struts, EJB, portal, Android, cloud, Linux kernel, VMware, SAP, SOA, GIS ESB, CRM, and OA, each illustrated with detailed images.

JVMJavaSpring
0 likes · 6 min read
Comprehensive Collection of Java Backend Architecture Diagrams
Java Tech Workshop
Java Tech Workshop
Jul 8, 2026 · Backend Development

Step‑by‑Step Walkthrough of Spring Boot’s Main‑Method to Container‑Ready Startup Chain

This article provides a line‑by‑line walkthrough of Spring Boot’s startup sequence, from the main method through SpringApplication.run, environment preparation, context creation, bean factory refresh, to the final ApplicationReadyEvent, highlighting key code snippets and common failure points.

ApplicationContextBeanLifecycleDependencyInjection
0 likes · 13 min read
Step‑by‑Step Walkthrough of Spring Boot’s Main‑Method to Container‑Ready Startup Chain
LuTiao Programming
LuTiao Programming
Jul 7, 2026 · Artificial Intelligence

Suddenly All Major AI Coders Shift to Task Orchestration—Java Finally Gets Its Main Stage

Recent updates to Codex, Claude Code, Cursor, and ZCode show a rapid move from simple code‑generation chat windows to full‑featured distributed task orchestration, and the Java ecosystem—through Spring Boot, JobRunr, and OpenTelemetry—now provides the essential backend platform to manage these AI‑driven development pipelines.

AI codingJavaJobRunr
0 likes · 21 min read
Suddenly All Major AI Coders Shift to Task Orchestration—Java Finally Gets Its Main Stage
Coder Trainee
Coder Trainee
Jul 7, 2026 · Backend Development

Deep Dive into Java ThreadPoolExecutor: Source Code Analysis (Part 6)

This article provides a thorough, source‑level walkthrough of Java's ThreadPoolExecutor, covering its core design, state machine, seven key parameters, task‑submission flow, worker creation, execution loop, rejection policies, common pool variants, and interview‑ready explanations of the execute() process.

BlockingQueueConcurrencyJava
0 likes · 10 min read
Deep Dive into Java ThreadPoolExecutor: Source Code Analysis (Part 6)
samdeepthink
samdeepthink
Jul 7, 2026 · Fundamentals

How a Bloom Filter Stores 30 Million Items in Just 35 MB

The article explains how a Redis‑backed Bloom filter can deduplicate activity pop‑ups for 30 million users using only 35 MB of memory, compares alternative approaches, and details the underlying bit‑array and hash‑function mechanics, false‑positive rate, parameter sizing, expiration, and practical library choices.

Bloom filterFalse positiveJava
0 likes · 15 min read
How a Bloom Filter Stores 30 Million Items in Just 35 MB
java1234
java1234
Jul 7, 2026 · Backend Development

Maven 4 Arrives After 15 Years: A Complete Rewrite of the Java Build Tool

Maven 4 (currently at 4.0.0‑rc‑5) introduces a Java 17 runtime requirement, separates Build POM from Consumer POM, adds a new POM 4.1.0 model that reduces repetitive configuration, and provides migration tools such as mvnup and mvnsh, while offering step‑by‑step guidance for upgrading from Maven 3.

Build ToolCIJava
0 likes · 13 min read
Maven 4 Arrives After 15 Years: A Complete Rewrite of the Java Build Tool
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jul 7, 2026 · Backend Development

No AOP? Achieve Zero‑Intrusion Parameter Auto‑Filling in Spring Boot

This article demonstrates how to leverage Spring Boot's type‑conversion and AnnotationFormatterFactory to implement elegant, zero‑intrusion parameter auto‑filling, covering a basic string‑to‑object conversion example and a remote‑service lookup scenario with complete code and test results.

AnnotationFormatterFactoryBackend DevelopmentJava
0 likes · 7 min read
No AOP? Achieve Zero‑Intrusion Parameter Auto‑Filling in Spring Boot
Coder Trainee
Coder Trainee
Jul 6, 2026 · Backend Development

Deep Dive into Java Concurrency: Practical ReentrantLock and Condition Usage

This article thoroughly compares Java's synchronized keyword with ReentrantLock, explains lock implementation details, fairness, interruptibility, timeout, and Condition usage, provides practical code examples and interview tips, and offers guidance on when to choose each synchronization mechanism.

AQSConcurrencyCondition
0 likes · 8 min read
Deep Dive into Java Concurrency: Practical ReentrantLock and Condition Usage
Java Architect Handbook
Java Architect Handbook
Jul 6, 2026 · Cloud Native

Why We Dropped Nacos for Apollo: A Hands‑On Guide to Configuration Management

This article explains why the team replaced Nacos with Ctrip's open‑source Apollo configuration center, outlines Apollo's core concepts, features, and architecture, and provides step‑by‑step instructions for creating projects, testing dynamic updates, exploring environments, clusters, namespaces, and deploying a SpringBoot application on Kubernetes.

ApolloConfiguration CenterJava
0 likes · 28 min read
Why We Dropped Nacos for Apollo: A Hands‑On Guide to Configuration Management
CodeOnCode
CodeOnCode
Jul 6, 2026 · Backend Development

Big‑Sale Load Test: Why You Shouldn't Rush to Tune JVM Parameters

During a major sales promotion, a sudden P99 latency jump can tempt teams to tweak JVM settings, but this article shows how to build a three‑layer evidence chain—GC logs, JFR, business and container metrics—to confirm whether the JVM is truly at fault before making any parameter changes.

Big SaleGCJFR
0 likes · 16 min read
Big‑Sale Load Test: Why You Shouldn't Rush to Tune JVM Parameters
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jul 6, 2026 · Backend Development

Design and Implement a Production‑Ready Spring Boot Webhook Callback System

This article walks through building a production‑grade webhook system with Spring Boot 3.5, covering webhook fundamentals, a decoupled event‑driven architecture, database schema, entity and repository definitions, a dispatcher service with HMAC signing, exponential‑backoff retry, asynchronous execution, and dead‑letter handling.

AsynchronousDatabaseHMAC
0 likes · 15 min read
Design and Implement a Production‑Ready Spring Boot Webhook Callback System
Coder Trainee
Coder Trainee
Jul 5, 2026 · Fundamentals

Deep Dive into Java Concurrency: Inside the AQS Source Code (Part 4)

This article provides a thorough technical walkthrough of Java's AbstractQueuedSynchronizer, covering its core state and CLH queue structures, exclusive and shared lock acquisition/release processes, Condition implementation, and interview-ready explanations of its underlying mechanisms.

AQSAbstractQueuedSynchronizerConcurrency
0 likes · 8 min read
Deep Dive into Java Concurrency: Inside the AQS Source Code (Part 4)
IT Services Circle
IT Services Circle
Jul 5, 2026 · Backend Development

Eliminate if…else Hell with the Lightweight Easy Rules Engine

The article examines the drawbacks of deep if…else chains in Java business logic and introduces Easy Rules, a lightweight, annotation‑based rule engine that separates rules from code, improves readability, maintainability, testability, and supports multiple definition styles.

Easy RulesJavaRule Engine
0 likes · 19 min read
Eliminate if…else Hell with the Lightweight Easy Rules Engine
Niu Liu
Niu Liu
Jul 5, 2026 · Databases

DSP’s Shift from Single‑Node to Distributed: A Deep Look at Its gRPC Cluster Architecture

The article dissects DSP’s transition from a single‑node database to a distributed system, detailing the gRPC‑based cluster communication skeleton built in dsp‑raft and dsp‑register, the three node roles, GrpcServer/GrpcClient abstractions, proto services, the registration workflow, and the missing heartbeat, node‑discovery and Raft consensus components that must be added for a full‑featured distributed storage engine.

JavaRaftcluster communication
0 likes · 12 min read
DSP’s Shift from Single‑Node to Distributed: A Deep Look at Its gRPC Cluster Architecture
Niu Liu
Niu Liu
Jul 5, 2026 · Databases

How to Build a MySQL Protocol Server from Scratch for the DSP Database

This article walks through the complete implementation of a MySQL‑compatible front‑end protocol in the DSP (Sloth) database, covering why MySQL compatibility matters, Netty pipeline design, packet framing, three‑step handshake, two‑level command routing, result‑set encoding, length‑encoded integers, variable substitution, and current limitations.

DSP DatabaseJavaLengthEncodedInteger
0 likes · 10 min read
How to Build a MySQL Protocol Server from Scratch for the DSP Database
java1234
java1234
Jul 5, 2026 · Artificial Intelligence

9 Practical Tips for Efficient Spring AI 2.0 Agent Development

The article shares nine hands‑on tips for building Spring AI 2.0 agents—including using ChatClient as the entry point, delegating tool calls to ToolCallingAdvisor, defining tools with @Tool, crafting effective system prompts, leveraging Advisor chains, streaming responses early, managing conversation memory, limiting tool count, and adding observability—each illustrated with concrete code snippets.

AgentChatClientJava
0 likes · 12 min read
9 Practical Tips for Efficient Spring AI 2.0 Agent Development
Java Tech Workshop
Java Tech Workshop
Jul 5, 2026 · Backend Development

How to Elegantly Bind Custom Configuration Parameters with @ConfigurationProperties

This article explains why using @Value for configuration leads to scattered, unvalidated settings and demonstrates how Spring Boot's @ConfigurationProperties provides batch binding, nested object support, built‑in validation, default values, and starter integration for clean, maintainable configuration management.

ConfigurationPropertiesJavaSpring Boot
0 likes · 18 min read
How to Elegantly Bind Custom Configuration Parameters with @ConfigurationProperties
Coder Trainee
Coder Trainee
Jul 4, 2026 · Fundamentals

Deep Dive into Java Concurrency (Part 3): The Low‑Level Mechanics of volatile and CAS

This article explains Java's volatile and CAS primitives, detailing volatile's visibility and ordering guarantees, the memory barriers the JVM inserts, CAS's atomic compare‑and‑swap operation, common pitfalls like the ABA problem, and how their combination enables lock‑free thread safety, with code examples and interview tips.

CASConcurrencyHappens-Before
0 likes · 9 min read
Deep Dive into Java Concurrency (Part 3): The Low‑Level Mechanics of volatile and CAS
samdeepthink
samdeepthink
Jul 4, 2026 · Backend Development

How MyBatis Locates Mapper SQL: A Full Call‑Chain Trace

The article explains MyBatis’s three‑stage process—building an in‑memory mapping dictionary at startup, using JDK dynamic proxies to bind interface methods to that dictionary, and the runtime execution flow that translates a mapper call into JDBC operations, highlighting design choices such as builder chains, pre‑loading, and composition over inheritance.

Dynamic ProxyFramework DesignJava
0 likes · 10 min read
How MyBatis Locates Mapper SQL: A Full Call‑Chain Trace
Java Tech Enthusiast
Java Tech Enthusiast
Jul 4, 2026 · Backend Development

New CTO Bans java.util.Date Usage—Why Ignoring It Can Get You Fired

The article explains the fundamental design flaws of java.util.Date—misleading name, mutability, non‑finality, timezone quirks, and legacy numbering—why a CTO may forbid its use, and provides a step‑by‑step guide to replace it with java.time classes such as Instant, LocalDateTime and ZonedDateTime.

JavaRefactoringbackend
0 likes · 12 min read
New CTO Bans java.util.Date Usage—Why Ignoring It Can Get You Fired
Coder Trainee
Coder Trainee
Jul 4, 2026 · Backend Development

Deep Dive into Java Concurrency: The Source-Level Mechanics of synchronized

This article thoroughly examines Java's synchronized keyword, covering its three usage forms, the underlying bytecode instructions, how lock information is stored in the object header's Mark Word, the step‑by‑step lock upgrade process from no‑lock to heavyweight, and JVM optimizations such as lock elimination and coarsening, providing interview‑ready explanations.

ConcurrencyJVMJava
0 likes · 10 min read
Deep Dive into Java Concurrency: The Source-Level Mechanics of synchronized
Lisa Notes
Lisa Notes
Jul 4, 2026 · Fundamentals

Using Interfaces as Types in Java: A Beginner’s Guide

This note explains how Java interfaces define new data types, how variables of an interface type must reference objects implementing that interface, and demonstrates the concept with a concrete example that casts objects to a Compare interface to select the larger one.

CastingJavaOOP
0 likes · 3 min read
Using Interfaces as Types in Java: A Beginner’s Guide
Java Tech Workshop
Java Tech Workshop
Jul 4, 2026 · Backend Development

Why Spring Chooses Its Own SPI Over Java’s Native ServiceLoader

The article compares Java’s native SPI with Spring’s custom SPI, explains the fundamental flaws of ServiceLoader, details SpringFactoriesLoader’s lazy loading and conditional filtering, and shows why SpringBoot auto‑configuration relies entirely on its own SPI mechanism.

AutoConfigurationJavaSPI
0 likes · 13 min read
Why Spring Chooses Its Own SPI Over Java’s Native ServiceLoader
Tinker Programmer
Tinker Programmer
Jul 3, 2026 · Backend Development

How Aggregate Roots Guard Business Invariants – The Final Defense Line

The article examines a payroll bug caused by exposing internal collections, then explains three immutable‑focused rules for aggregate roots—expose only through the root, keep each transaction to a single aggregate, and reference other aggregates by ID only—showing how proper design prevents consistency errors, performance loss, and concurrency conflicts in Spring Boot applications.

Aggregate rootDomain EventsDomain-Driven Design
0 likes · 17 min read
How Aggregate Roots Guard Business Invariants – The Final Defense Line
Java Tech Enthusiast
Java Tech Enthusiast
Jul 3, 2026 · Backend Development

Why RediSearch Can Outperform Elasticsearch: Low Memory, High Speed

The article introduces Redis's official search module RediSearch, compares its memory usage and query performance against Elasticsearch, presents benchmark results showing faster indexing and four‑times higher throughput, and provides step‑by‑step installation, index commands, and Java integration examples.

ElasticsearchJavaPerformance Benchmark
0 likes · 10 min read
Why RediSearch Can Outperform Elasticsearch: Low Memory, High Speed
samdeepthink
samdeepthink
Jul 3, 2026 · Backend Development

MyBatis-Flex vs MyBatis-Plus: A Detailed Source‑Code and Feature Comparison

This article walks through a side‑by‑side examination of MyBatis‑Flex and MyBatis‑Plus, covering entity annotations, query construction, pagination, architectural differences, APT‑generated code, multi‑table joins, partial updates, and the trade‑offs of each design, helping developers choose the right ORM for their projects.

APTJavaMulti-table join
0 likes · 16 min read
MyBatis-Flex vs MyBatis-Plus: A Detailed Source‑Code and Feature Comparison
Coder Trainee
Coder Trainee
Jul 3, 2026 · Fundamentals

Deep Dive into Java Concurrency Part 1: Understanding the Core via JMM

This article launches a new series on Java concurrency, explaining why concurrent programming is hard due to hardware, OS and compiler effects, detailing the Java Memory Model’s happens‑before rules, memory barriers, volatile semantics, and comparing volatile with synchronized, plus a practical double‑checked locking example.

ConcurrencyHappens-BeforeJava
0 likes · 8 min read
Deep Dive into Java Concurrency Part 1: Understanding the Core via JMM
Lisa Notes
Lisa Notes
Jul 3, 2026 · Fundamentals

Java Interface Implementation: A Step‑by‑Step Tutorial from Scratch

This tutorial walks through Java interface basics, showing how to declare an interface, implement it in classes, handle method and constant conflicts when implementing multiple interfaces, and demonstrates the concepts with concrete Rectangle and Circle examples.

Code ExampleJavaOOP
0 likes · 10 min read
Java Interface Implementation: A Step‑by‑Step Tutorial from Scratch
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jul 3, 2026 · Backend Development

7 Ways to Add a Unified Prefix to Spring Boot Controllers

This article explains why a common API prefix (e.g., /api/v1) is useful in microservice or front‑back separation projects and demonstrates seven practical techniques—custom DispatcherServlet registration, YAML configuration, SpEL‑based @RequestMapping, custom composed annotation, WebMvcConfigurer addPathPrefix, internal forwarding, Spring Cloud Gateway ProxyExchange, and Nginx reverse proxy—using Spring Boot 3.5.0 examples and code snippets.

ControllerJavaSpring Boot
0 likes · 8 min read
7 Ways to Add a Unified Prefix to Spring Boot Controllers
The Dominant Programmer
The Dominant Programmer
Jul 2, 2026 · Backend Development

Understanding Redisson from Scratch: A Java Distributed Toolbox Guide and Hands‑On

This article introduces Redisson, a Redis‑based Java client that wraps Redis commands into familiar Java concurrency primitives, compares it with Jedis and Lettuce, explains why custom distributed locks are error‑prone, and provides step‑by‑step code for configuring, using, and integrating its core features such as locks, maps, queues, and rate limiters in Spring Boot.

JavaRate LimiterRedis
0 likes · 16 min read
Understanding Redisson from Scratch: A Java Distributed Toolbox Guide and Hands‑On
liandk
liandk
Jul 2, 2026 · Fundamentals

Iterator Pattern Explained: Real‑World Scenarios and Java Code

This article demystifies the Iterator design pattern by describing its purpose of separating collection storage from traversal, illustrating everyday analogies, presenting a complete Java implementation—including interfaces, concrete aggregate, custom iterator, and test code—and summarizing typical applications, advantages, and drawbacks.

CollectionsDesign PatternsIterator
0 likes · 5 min read
Iterator Pattern Explained: Real‑World Scenarios and Java Code
Su San Talks Tech
Su San Talks Tech
Jul 2, 2026 · Backend Development

Replace if…else with a Lightweight Rule Engine: Introducing Easy Rules

The article explains why deep nesting of if…else statements harms readability, maintainability and testability, and shows how the Java Easy Rules engine can extract business logic into reusable rule objects with multiple definition styles, lightweight architecture, and integration options.

Backend DevelopmentComposite RulesEasy Rules
0 likes · 18 min read
Replace if…else with a Lightweight Rule Engine: Introducing Easy Rules
Cloud Architecture
Cloud Architecture
Jul 1, 2026 · Backend Development

8 Asynchronous Programming Techniques: From Thread Pools and MQ to Virtual Threads

The article examines eight practical ways to implement asynchronous programming—thread pools, CompletableFuture, Spring @Async, message queues, event‑driven architecture, reactive streams, the Actor model, and coroutines/virtual threads—explaining their core mechanisms, trade‑offs, production‑grade configurations, and when each should be chosen.

Asynchronous ProgrammingConcurrencyJava
0 likes · 53 min read
8 Asynchronous Programming Techniques: From Thread Pools and MQ to Virtual Threads
21CTO
21CTO
Jul 1, 2026 · Industry Insights

Why Oracle Is Dropping Java Updates for Intel Macs After JDK 27

Oracle announced that starting with JDK 27 it will cease maintaining the macOS/x64 Java runtime, citing Apple Silicon dominance and engineering costs, and the article examines the broader ecosystem shift, enterprise impact, and mitigation options for developers still on Intel Macs.

Apple SiliconIntel MacJDK
0 likes · 7 min read
Why Oracle Is Dropping Java Updates for Intel Macs After JDK 27
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jul 1, 2026 · Artificial Intelligence

How to Add Claude Code’s Auto‑Memory Mechanism to Spring AI

This article explains how to integrate Claude Code’s auto‑memory mechanism into Spring AI by using AutoMemoryTools and AutoMemoryToolsAdvisor, compares three integration options, shows the request workflow, memory file formats, and provides concrete code snippets and consolidation strategies for persistent, typed long‑term memory.

Chat MemoryClaude CodeJava
0 likes · 12 min read
How to Add Claude Code’s Auto‑Memory Mechanism to Spring AI
Code Ape Tech Column
Code Ape Tech Column
Jul 1, 2026 · Backend Development

How Spring Integration Simplifies Inter‑Service Messaging

This article explains Spring Integration’s core concepts—messages, channels, endpoints, adapters, filters, and transformers—shows how to configure them with XML or Java, compares the framework to traditional middleware, and provides a complete e‑commerce order‑processing example with code snippets and interceptor techniques.

Design PatternsInterceptorsJava
0 likes · 20 min read
How Spring Integration Simplifies Inter‑Service Messaging
liandk
liandk
Jul 1, 2026 · Fundamentals

Interpreter Pattern Explained with Java Code and Real-World Scenarios

This article introduces the Interpreter design pattern, explains its core concept of splitting custom syntax into expression objects, showcases practical Java implementations for arithmetic, and outlines typical use cases such as calculators, rule engines, and low‑code platforms while discussing its advantages and drawbacks.

Design PatternsExpression EvaluationInterpreter Pattern
0 likes · 5 min read
Interpreter Pattern Explained with Java Code and Real-World Scenarios
Java Backend Technology
Java Backend Technology
Jul 1, 2026 · Artificial Intelligence

LangChain4j vs LangGraph4j: Which Java AI Framework Should You Choose?

This article compares LangChain4j and LangGraph4j, explaining their roles as an AI capability‑access layer and a workflow‑orchestration layer respectively, detailing core features, design philosophies, code examples, strengths, limitations, version updates, and practical scenarios to help Java developers decide which tool fits their needs.

AI AgentsJavaLangChain4j
0 likes · 20 min read
LangChain4j vs LangGraph4j: Which Java AI Framework Should You Choose?
Lisa Notes
Lisa Notes
Jul 1, 2026 · Fundamentals

Java Interfaces from Scratch: Core Concepts and Practical Use

This note explains how interfaces act as contracts in collaborative Java projects, covering everyday analogies, definition, syntax, implementation requirements, API role, and how multiple interfaces provide a form of multiple inheritance.

APIJavaMultiple Inheritance
0 likes · 5 min read
Java Interfaces from Scratch: Core Concepts and Practical Use
Niu Liu
Niu Liu
Jul 1, 2026 · Backend Development

E‑commerce Pricing Engine Architecture: Promotion Calculation Using Aviator Rule Engine

This article details the design of an e‑commerce pricing engine that processes shopping‑cart items and multiple promotional activities through a three‑stage workflow, copy‑on‑trial execution, configurable Aviator rule chains, and a two‑phase discount sharing algorithm, with code examples and engineering considerations.

AviatorDesign PatternsJava
0 likes · 11 min read
E‑commerce Pricing Engine Architecture: Promotion Calculation Using Aviator Rule Engine
Java Architecture Diary
Java Architecture Diary
Jul 1, 2026 · Artificial Intelligence

Spring AI Overhauls Memory: Replacing ChatMemory with Session

Spring AI’s new Session model replaces the fragile sliding‑window ChatMemory, introducing immutable Session metadata, event‑based Turn grouping, configurable compaction triggers and strategies, multi‑agent Branch isolation, and a JDBC‑backed repository to reliably handle long‑running tool‑calling agents.

AgentChatMemoryJava
0 likes · 10 min read
Spring AI Overhauls Memory: Replacing ChatMemory with Session
Tinker Programmer
Tinker Programmer
Jun 30, 2026 · Fundamentals

Stop Using HashSet: Optimize LeetCode #3 Sliding Window from 8 ms to 2 ms

This article dissects the classic LeetCode #3 longest‑substring‑without‑repeating‑characters problem, shows why a HashSet‑based solution incurs heavy boxing overhead, and walks through three progressive optimizations—using a boolean array, index‑jumping with an int array, and refined update timing—to shrink runtime from 8 ms to about 2 ms, while highlighting common pitfalls and best‑practice guidelines.

AlgorithmHashSetJava
0 likes · 12 min read
Stop Using HashSet: Optimize LeetCode #3 Sliding Window from 8 ms to 2 ms
Java Tech Enthusiast
Java Tech Enthusiast
Jun 30, 2026 · Backend Development

Spring Boot 4.1.0 Released: Official gRPC Support Boosts Java Microservices

Spring Boot 4.1.0 introduces official gRPC support, unified Jackson configuration, HTTP client SSRF protection, enhanced observability with OpenTelemetry, and flexible Log4j file‑rotation strategies, while the roadmap confirms a one‑year lifecycle for each version and signals the shift to the 4.x era for Java microservices.

JacksonJavaSSRF
0 likes · 8 min read
Spring Boot 4.1.0 Released: Official gRPC Support Boosts Java Microservices
Java Architect Handbook
Java Architect Handbook
Jun 30, 2026 · Backend Development

12 MyBatis‑Plus Tricks That Instantly Boost Development Efficiency

This article presents twelve practical MyBatis‑Plus techniques—including avoiding isNull checks, selecting specific fields, batch operations, EXISTS subqueries, safe ordering, LambdaQuery type safety, between clauses, index‑aware sorting, pagination limits, null‑handling, performance tracking, enum mapping, logical deletion, optimistic locking, and increment/decrement methods—to help developers write cleaner, faster, and more maintainable Java code.

Batch OperationsJavaLambdaQueryWrapper
0 likes · 18 min read
12 MyBatis‑Plus Tricks That Instantly Boost Development Efficiency
Lisa Notes
Lisa Notes
Jun 30, 2026 · Fundamentals

Java Basics: User Login Validation and Sensitive Word Filtering Examples

This tutorial walks through two Java examples—a simple user login verification program and a basic sensitive‑word filtering utility—explaining the problem setup, code logic, and sample outputs to illustrate input validation and string processing techniques.

Input ValidationJavaProgramming Tutorial
0 likes · 8 min read
Java Basics: User Login Validation and Sensitive Word Filtering Examples
liandk
liandk
Jun 30, 2026 · Fundamentals

Command Pattern Explained: Theory, Java Code, and Real‑World Scenarios

This article introduces the Command pattern, describing how encapsulating each action as a command object decouples callers from executors, and demonstrates its use through real‑world examples like remote controls and editors, followed by a complete Java implementation, common business scenarios, and a brief pros‑cons analysis.

Command PatternDesign PatternsInvoker
0 likes · 5 min read
Command Pattern Explained: Theory, Java Code, and Real‑World Scenarios
Su San Talks Tech
Su San Talks Tech
Jun 30, 2026 · Artificial Intelligence

LangChain4j vs LangGraph4j: Which Java AI Framework Fits Your Needs?

This article compares LangChain4j and LangGraph4j, explaining that the former is an AI capability integration layer for Java while the latter is a state‑graph workflow engine, and guides developers on when to use each based on features such as model access, tool calling, multi‑agent orchestration, conditional routing, checkpointing, and version maturity.

AI AgentsJavaLangChain4j
0 likes · 19 min read
LangChain4j vs LangGraph4j: Which Java AI Framework Fits Your Needs?
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jun 30, 2026 · Backend Development

Zero‑Intrusion Dynamic Enhancements for Spring Boot RestClient

The article explains how to eliminate boilerplate when using Spring Boot 3.5.0 RestClient by introducing two custom annotations, @ClientEnhance and @ClientConfig, together with an auto‑configuration class that injects logging interceptors and configurable timeouts into selected RestClient.Builder beans, enabling a non‑intrusive, declarative enhancement.

AutoConfigurationCustom AnnotationJava
0 likes · 8 min read
Zero‑Intrusion Dynamic Enhancements for Spring Boot RestClient
Coder Life Journal
Coder Life Journal
Jun 29, 2026 · Backend Development

Lombok @Data: Handy Shortcut with Hidden Pitfalls and Key Technical Details

The article explains what Lombok’s @Data annotation expands to, warns that its default @EqualsAndHashCode callSuper is false causing equals/hashCode to ignore superclass fields, discusses the need to manually declare serialVersionUID for Serializable classes, and recommends using @Getter/@Setter with explicit @EqualsAndHashCode when inheritance is involved.

JavaLombokdata
0 likes · 5 min read
Lombok @Data: Handy Shortcut with Hidden Pitfalls and Key Technical Details
Coder Trainee
Coder Trainee
Jun 29, 2026 · Backend Development

Java Performance Tuning in Practice (Part 6): End-to-End Case Study from Full GC to 200 ms Response

The article walks through a real e‑commerce order service where afternoon spikes caused response times to jump to 2‑3 seconds, Full GC to run every few minutes, and Metaspace to hit 99.9%, then demonstrates step‑by‑step analysis using monitoring, GC logs, jstat, jmap, and heap dumps, fixes a custom class‑loader leak, adjusts JVM flags, and achieves sub‑200 ms latency with no Full GC.

Classloader LeakGCJVM
0 likes · 8 min read
Java Performance Tuning in Practice (Part 6): End-to-End Case Study from Full GC to 200 ms Response
Lisa Notes
Lisa Notes
Jun 29, 2026 · Fundamentals

Java Basics: Using StringBuilder for Efficient Mutable Strings

The article explains why Java's immutable String class can waste memory when concatenated, introduces the mutable StringBuilder class introduced in J2SE 5.0, demonstrates its usage with code examples comparing memory behavior, shows its length and capacity methods, and illustrates practical operations such as reverse and conversion between String and StringBuilder.

CodeExampleJavaMemoryManagement
0 likes · 7 min read
Java Basics: Using StringBuilder for Efficient Mutable Strings
Java Backend Technology
Java Backend Technology
Jun 29, 2026 · Backend Development

When AI Generates Code, How to Eliminate Zombie Dependencies with Maven

The article explains why modern Java projects must treat Maven dependency management as essential, shows how transitive vulnerable dependencies and unused "zombie" libraries bloat builds, and provides concrete Maven‑dependency‑plugin commands to visualize, analyze, and clean the dependency tree, improving security and build speed.

CI/CDDependency ManagementJava
0 likes · 9 min read
When AI Generates Code, How to Eliminate Zombie Dependencies with Maven
Java Baker
Java Baker
Jun 29, 2026 · Backend Development

How to Diagnose Uneven CPU Usage in Java Services Using Kafka

This article walks through the symptoms, root cause analysis, and step‑by‑step solutions for uneven CPU usage across Java service instances, highlighting how mismatched Kafka partition counts and thread or GC issues can lead to load imbalance and how to resolve them.

CPUJavaKafka
0 likes · 8 min read
How to Diagnose Uneven CPU Usage in Java Services Using Kafka
Coder Trainee
Coder Trainee
Jun 28, 2026 · Fundamentals

Java Performance Tuning Part 5: Hands‑On GC Optimization from G1 to ZGC

This article walks through Java GC tuning by defining low‑latency and high‑throughput goals, comparing major collectors, presenting G1 and ZGC configuration examples, and demonstrating a real‑world payment system case where pause times were reduced from 150‑200 ms to under 50 ms.

G1GCHigh throughput
0 likes · 8 min read
Java Performance Tuning Part 5: Hands‑On GC Optimization from G1 to ZGC