Tagged articles

Java

5000 articles · Page 1 of 50
LuTiao Programming
LuTiao Programming
Aug 22, 2026 · Backend Development

Why Spring Boot 4.1.1 Makes Controllers and JSON Unnecessary for Internal Microservice Calls

Spring Boot 4.1.1 now offers native gRPC support, letting Java microservices replace the usual REST controllers, DTOs, Feign clients and JSON payloads with a single .proto definition, generated code, and built‑in security, health, observability and testing features, while highlighting best practices and pitfalls.

JavaMicroservicesProtocol Buffers
0 likes · 12 min read
Why Spring Boot 4.1.1 Makes Controllers and JSON Unnecessary for Internal Microservice Calls
Architect's Guide
Architect's Guide
Aug 22, 2026 · Information Security

Comprehensive Guide: Implementing RBAC with Spring Security and JWT

This article walks through the fundamentals of Role‑Based Access Control (RBAC), explains the RBAC0‑RBAC3 model hierarchy, demonstrates how to configure Spring Security for in‑memory and database authentication, integrates JWT for stateless token handling, and shows how to enable JSON‑based login and BCrypt password encryption with concrete code examples.

AuthenticationJWTJava
0 likes · 16 min read
Comprehensive Guide: Implementing RBAC with Spring Security and JWT
Java Architecture Diary
Java Architecture Diary
Aug 21, 2026 · Artificial Intelligence

LangChain4j 1.19 Switches to Stateless Streamable HTTP and Adds Hybrid Milvus Search

LangChain4j 1.19 drops SSE support in favor of a stateless Streamable HTTP protocol, introduces a Milvus‑v2 module that combines dense vector similarity with BM25 keyword matching for hybrid retrieval, and bundles dozens of bug fixes and new integrations across agents, HTTP clients, vector stores, and document parsers.

Hybrid SearchJavaLLM
0 likes · 9 min read
LangChain4j 1.19 Switches to Stateless Streamable HTTP and Adds Hybrid Milvus Search
The Dominant Programmer
The Dominant Programmer
Aug 20, 2026 · Artificial Intelligence

Deep Dive into Context Engineering with Spring AI Alibaba

This article explains how Spring AI Alibaba’s Agent framework uses Hooks and Interceptors to dynamically control model, tool, and lifecycle contexts, demonstrating the concepts through a complete e‑commerce smart‑customer‑service demo with role‑based tool selection, dynamic prompts, and context compression.

AI AgentContext EngineeringInterceptor
0 likes · 21 min read
Deep Dive into Context Engineering with Spring AI Alibaba
Tech Musings
Tech Musings
Aug 20, 2026 · Fundamentals

Four JMH Cases Reveal How Java JIT Optimizes at the Assembly Level

The article walks through four carefully designed JMH benchmarks—method inlining, SIMD vectorization, lock elimination, and a Netty AsciiString regression—to show how JVM JIT optimizations appear in assembly, explain the performance impact (up to 1500×), and demonstrate how to diagnose and fix real‑world issues using assembly analysis.

AssemblyJITJMH
0 likes · 19 min read
Four JMH Cases Reveal How Java JIT Optimizes at the Assembly Level
The Dominant Programmer
The Dominant Programmer
Aug 19, 2026 · Artificial Intelligence

Persisting Spring AI Alibaba Memory to Redis: A Hands‑On Guide

This guide walks through configuring Spring AI Alibaba 1.1.2.0 to persist an agent's short‑term memory in Redis, covering environment setup, core concepts like Checkpointer and StateSerializer, step‑by‑step Maven project creation, code snippets, common pitfalls, and verification of multi‑turn conversation state across sessions.

AgentJavaRedis
0 likes · 17 min read
Persisting Spring AI Alibaba Memory to Redis: A Hands‑On Guide
MeowKitty Programming
MeowKitty Programming
Aug 19, 2026 · Backend Development

DeepSeek Is Raising Prices: Java Developers Must Recalculate AI Costs

The article analyzes DeepSeek's upcoming price hike, explains why Java projects can no longer treat large‑model calls as cheap infrastructure, outlines three common pitfalls, and provides concrete engineering steps—cost tracking, model routing, budgeting, and testing—to keep AI services affordable and reliable.

AI pricingDeepSeekJava
0 likes · 7 min read
DeepSeek Is Raising Prices: Java Developers Must Recalculate AI Costs
Java Architect Handbook
Java Architect Handbook
Aug 19, 2026 · Backend Development

How Enums Can Streamline Spring Boot Configuration Management

This article demonstrates how to use Java enums together with Spring Boot's @ConfigurationProperties to replace hard‑coded strings in application.yml, improving readability, reducing maintenance effort, and enabling flexible configuration of user types displayed via a Thymeleaf front‑end.

ConfigurationPropertiesEnumJava
0 likes · 14 min read
How Enums Can Streamline Spring Boot Configuration Management
Architect's Guide
Architect's Guide
Aug 19, 2026 · Backend Development

How to Implement Redis Cache Preheating in Spring

This article explains the concept of cache preheating, provides an abstract cache class, a Spring context utility, and a CommandLineRunner implementation that automatically loads hot data into Redis at startup, demonstrating the approach with a news‑cache example and related controller code.

AbstractCacheCache PreheatingCommandLineRunner
0 likes · 5 min read
How to Implement Redis Cache Preheating in Spring
MeowKitty Programming
MeowKitty Programming
Aug 18, 2026 · Backend Development

When AI Writes Whole Projects, What Jobs Remain for Java Backend Developers?

After an AI mistakenly removed three reflection‑based Spring beans from a 5,000‑line service, the author reflects on how AI‑driven code generation is reshaping Java backend roles—from writing code to focusing on architecture, requirements, and AI‑orchestrated testing—highlighting recent survey data and upcoming Spring AI 2.0 features.

AI code generationBackend DevelopmentJava
0 likes · 5 min read
When AI Writes Whole Projects, What Jobs Remain for Java Backend Developers?
The Dominant Programmer
The Dominant Programmer
Aug 18, 2026 · Artificial Intelligence

Comprehensive Guide to Spring AI Alibaba Tools: From Basics to Advanced

This article presents a complete, runnable Spring AI Alibaba Tools example (v1.1.2.0) that explains core concepts, three creation methods, registration techniques, advanced features such as JSON schema generation and custom result conversion, environment setup, testing commands, and common troubleshooting tips.

AI AgentAlibabaJSON Schema
0 likes · 32 min read
Comprehensive Guide to Spring AI Alibaba Tools: From Basics to Advanced
Niu Liu
Niu Liu
Aug 18, 2026 · Industry Insights

Go vs Java and the Mystery of China’s Missing Programming Language: What’s the Real Technical Gap?

The article compares Go and Java across history, concurrency, performance, ecosystem and developer experience, examines why Japan, not China, has produced influential languages, notes emerging Chinese language projects, and offers concrete paths for engineers to deepen their low‑level technical understanding.

Asia Tech CultureConcurrencyGo
0 likes · 16 min read
Go vs Java and the Mystery of China’s Missing Programming Language: What’s the Real Technical Gap?
Yumin Fish Harvest
Yumin Fish Harvest
Aug 18, 2026 · Backend Development

Distributed Snowflake ID Generation in Java: Hutool and MyBatis-Plus Demo

This article walks through the Snowflake algorithm for distributed ID generation, detailing its timestamp, workerId and sequence fields, handling clock rollback and sequence overflow, and provides a complete Java implementation with integration examples for Hutool and MyBatis‑Plus, including configuration and test code.

HutoolJavadistributed systems
0 likes · 28 min read
Distributed Snowflake ID Generation in Java: Hutool and MyBatis-Plus Demo
Architect's Guide
Architect's Guide
Aug 18, 2026 · Backend Development

Boost CRUD Development Speed 100× with This Open‑Source Code Generator

Manually creating entity classes, CRUD interfaces and SQL for dozens of tables can consume dozens of hours, so the author built an open‑source tool that automatically generates the full backend stack—from table definition to Java models, MyBatis mappers, services and controllers—dramatically accelerating development.

CRUDJavaMyBatis
0 likes · 17 min read
Boost CRUD Development Speed 100× with This Open‑Source Code Generator
Coder Trainee
Coder Trainee
Aug 17, 2026 · Operations

Uncovering the Truth Behind Connection Reset: A Network Timeout Investigation

This article explains the differences among Connection reset, Read timed out, and Connect timed out, outlines typical causes for each, provides step‑by‑step Linux command checks, Java Spring Boot configuration examples, a real‑world case study, and a quick‑reference cheat sheet for troubleshooting network timeouts.

JavaLinuxSpring Boot
0 likes · 8 min read
Uncovering the Truth Behind Connection Reset: A Network Timeout Investigation
Yumin Fish Harvest
Yumin Fish Harvest
Aug 17, 2026 · Backend Development

How to Implement Distributed ID Generation with Segment Mode? A Double‑Buffer Issuer in Practice

The article analyses lock contention caused by per‑request ID generation, derives a segment‑based solution that batches IDs using a configurable step, defines a left‑closed/right‑open interval schema in MySQL, and builds a double‑buffer Java issuer with asynchronous pre‑loading, thorough concurrency handling, testing, and configuration guidelines.

ConcurrencyJavaMySQL
0 likes · 21 min read
How to Implement Distributed ID Generation with Segment Mode? A Double‑Buffer Issuer in Practice
Java Architecture Diary
Java Architecture Diary
Aug 17, 2026 · Artificial Intelligence

Pure Java OCR with mica-ppocr: How It Parses Documents and Invoices

This article details the pure‑Java mica‑ppocr library built on Java 17 and ONNX Runtime, covering its rapid version evolution, core engine upgrades, structured parsing of six document types, Spring Boot and Solon integration, performance optimizations, and architectural refactors, providing a comprehensive technical overview for developers.

JavaOCRONNX Runtime
0 likes · 12 min read
Pure Java OCR with mica-ppocr: How It Parses Documents and Invoices
LuTiao Programming
LuTiao Programming
Aug 17, 2026 · Backend Development

Implementing a Net‑Disk‑Style 10 GB File Upload with Spring Boot: No Restart After Interrupt

The article explains why the standard MultipartFile upload fails for multi‑gigabyte files, then details a Spring Boot solution that splits files into 10 MB chunks, uses SHA‑256 hashes for identification, supports resumable and instant uploads, and safely merges chunks on the server.

Backend DevelopmentChunked UploadInstant Upload
0 likes · 11 min read
Implementing a Net‑Disk‑Style 10 GB File Upload with Spring Boot: No Restart After Interrupt
Ray's Galactic Tech
Ray's Galactic Tech
Aug 16, 2026 · Backend Development

Ditch Seata: Build a Production‑Ready SAGA Orchestrator with a 500‑Line Java State Machine

This article shows how to replace heavyweight distributed‑transaction frameworks such as Seata with a lightweight, production‑grade SAGA orchestrator built from a Java state machine, MySQL persistence and Spring Boot, covering architecture, state‑machine design, database schema, core orchestration logic, recovery, exception handling and practical deployment tips.

JavaMicroservicesSAGA
0 likes · 46 min read
Ditch Seata: Build a Production‑Ready SAGA Orchestrator with a 500‑Line Java State Machine
Architect's Guide
Architect's Guide
Aug 16, 2026 · Backend Development

How Architects Can Achieve Unified Login Across Company Products

The article explains why traditional session mechanisms break in clustered and multi‑service environments, compares session replication and centralized storage, introduces CAS‑based single sign‑on with ticket flow, contrasts it with OAuth2, and provides a complete Spring‑Boot demo with Redis‑backed session handling.

AuthenticationCASJava
0 likes · 15 min read
How Architects Can Achieve Unified Login Across Company Products
Linyb Geek Road
Linyb Geek Road
Aug 16, 2026 · Artificial Intelligence

Complete Spring AI Stack: Mapping the 2026 Java AI Ecosystem

The article presents a layered roadmap of the 2026 Java AI ecosystem, compares major AI frameworks, LLMs, embedding models, vector databases, and agent toolchains, and offers three concrete stack configurations with cost estimates and practical configuration snippets for architects and technical leaders.

AI StackAgentJava
0 likes · 13 min read
Complete Spring AI Stack: Mapping the 2026 Java AI Ecosystem
Yumin Fish Harvest
Yumin Fish Harvest
Aug 15, 2026 · Backend Development

Choosing a Decentralized Distributed ID: UUIDv4 vs UUIDv7 vs ULID vs Nano ID

This article examines how traceId, eventId, and shareId differ in requirements and walks through a detailed comparison of UUIDv4, UUIDv7, ULID, and Nano ID—covering generation principles, ordering characteristics, storage impact, Java code examples, and practical guidance for selecting the right scheme.

Javadistributed IDnano-id
0 likes · 24 min read
Choosing a Decentralized Distributed ID: UUIDv4 vs UUIDv7 vs ULID vs Nano ID
Java Architect Handbook
Java Architect Handbook
Aug 14, 2026 · Backend Development

System Circuit Breaker Explained: Concepts, State Machine, Frameworks & Interview Tips

The article defines circuit breaker as a self‑protective mechanism that prevents cascade failures in distributed systems, explains the avalanche effect, details the three‑state state machine, compares Hystrix, Sentinel and Resilience4j, provides a Sentinel code example, and lists common interview questions and answers.

HystrixJavaMicroservices
0 likes · 14 min read
System Circuit Breaker Explained: Concepts, State Machine, Frameworks & Interview Tips
CodeOnCode
CodeOnCode
Aug 14, 2026 · Operations

Humongous Objects in G1 GC: Why They Fear Contiguous Space and Hurt Performance

Humongous objects in Java's G1 collector are large allocations that require a contiguous set of heap regions, bypass the young generation, inflate old‑generation usage, trigger frequent Young, Mixed or Full GCs, and can dominate CPU and pause time unless the code is refactored or the region size is tuned.

G1GCHumongous
0 likes · 16 min read
Humongous Objects in G1 GC: Why They Fear Contiguous Space and Hurt Performance
Java Architecture Diary
Java Architecture Diary
Aug 14, 2026 · Artificial Intelligence

Use JVM Native Vector API to Remove an External Vector Store in RAG

This guide shows how to replace external vector databases like Milvus or Qdrant with the JVM’s incubating Vector API and the integrallis/vectors library, providing built‑in distance kernels, indexing (FLAT, HNSW, IVF), and persistence, and demonstrates integration with Spring AI and LangChain4j through concise code examples and required JVM flags.

JVM Vector APIJavaLangChain4j
0 likes · 7 min read
Use JVM Native Vector API to Remove an External Vector Store in RAG
Java Architect Handbook
Java Architect Handbook
Aug 13, 2026 · Backend Development

The Ultimate Spring Boot Solution for Getting the Real Client IP (99% Get It Wrong)

This article explains why the common getRemoteAddr() call often returns proxy addresses, details the underlying IP header propagation, and provides a production‑grade utility class, Spring Boot configuration, advanced interception, testing, and best‑practice guidelines for reliably obtaining the true client IP.

JavaSpring Bootbackend
0 likes · 27 min read
The Ultimate Spring Boot Solution for Getting the Real Client IP (99% Get It Wrong)
Top Architecture Tech Stack
Top Architecture Tech Stack
Aug 12, 2026 · Industry Insights

Has IntelliJ IDEA Lost Its Crown to VS Code?

The article analyzes how JetBrains is exposing IntelliJ IDEA’s Java/Kotlin language intelligence to VS Code via an LSP‑based extension, arguing that the shift reflects a broader move from monolithic IDEs to modular code‑understanding services that empower both human developers and AI agents in large‑scale projects.

AI AgentIDEIntelliJ IDEA
0 likes · 13 min read
Has IntelliJ IDEA Lost Its Crown to VS Code?
DeWu Technology
DeWu Technology
Aug 12, 2026 · Artificial Intelligence

Building a Judgmental RAG Agent: From Simple Search to Autonomous Search‑Filter‑Dive‑Validate Loop

This article details the design of a composite‑retrieval RAG Agent using AgentScope 2.0, covering its HarnessAgent architecture, ReAct loop, middleware‑driven three‑stage quality pipeline, multi‑source parallel search, multimodal image handling, production‑grade SSE resume, model failover, and future roadmap.

AgentScopeComposite RetrievalJava
0 likes · 23 min read
Building a Judgmental RAG Agent: From Simple Search to Autonomous Search‑Filter‑Dive‑Validate Loop
Architecture Digest
Architecture Digest
Aug 12, 2026 · Artificial Intelligence

Practical Multi‑Model Routing with Embabel: Mixing DeepSeek and Claude

The article explains why a single LLM cannot satisfy all stages of an AI pipeline, introduces Embabel's declarative routing that separates concerns across four layers, shows how a four‑dimensional decision matrix assigns cheap or best models to each step, and presents benchmark results demonstrating up to 70% cost reduction while retaining 95% of the quality of an all‑Claude solution.

ClaudeDeepSeekEmbabel
0 likes · 16 min read
Practical Multi‑Model Routing with Embabel: Mixing DeepSeek and Claude
Architect's Tech Stack
Architect's Tech Stack
Aug 12, 2026 · Backend Development

A Read‑Only ORM That’s 100× Faster Than MyBatis

BeanSearcher, a read‑only Java ORM, generates SQL from declarative annotations and maps HTTP query parameters directly to query conditions, allowing complex multi‑table, aggregation and sorting queries with a single line of code and claiming performance up to a hundred times faster than MyBatis.

BeanSearcherJavaMyBatis
0 likes · 4 min read
A Read‑Only ORM That’s 100× Faster Than MyBatis
Java Companion
Java Companion
Aug 12, 2026 · Industry Insights

Why Java Basics Disappear from Interviews: RAG and Agents Now Dominate AI Jobs

Recent interview trends show a sharp shift from traditional Java topics to AI‑focused questions about Retrieval‑Augmented Generation and Agent design, with data revealing AI roles topping demand and salary charts while companies struggle to find talent capable of deploying large models in real business contexts.

AI interview trendsAI job marketAI training
0 likes · 4 min read
Why Java Basics Disappear from Interviews: RAG and Agents Now Dominate AI Jobs
Architect's Guide
Architect's Guide
Aug 12, 2026 · Backend Development

Six Years In, This Java Code Made Me Cringe

The article recounts a six‑year veteran’s encounter with a tangled Java data‑isolation implementation, explains how a custom MyBatis interceptor and annotation were used to inject and filter an env field across dozens of tables, and reflects on the code smell and refactoring lessons learned.

Custom AnnotationData IsolationInterceptor
0 likes · 13 min read
Six Years In, This Java Code Made Me Cringe
Java Architecture Diary
Java Architecture Diary
Aug 12, 2026 · Cloud Native

Why Upgrading Your MCP Server to 2.0 Solves Stateless Session Issues

The article explains how MCP 1.x's stateful handshake caused node‑crash failures, sticky sessions, and serverless incompatibility, and how the 2.0 release removes the handshake, makes each request self‑describing via _meta and HTTP headers, introduces MRTR for multi‑round interactions, and provides a Java/TypeScript code walkthrough demonstrating the new stateless behavior.

JavaKubernetesMCP
0 likes · 8 min read
Why Upgrading Your MCP Server to 2.0 Solves Stateless Session Issues
ITPUB
ITPUB
Aug 11, 2026 · Fundamentals

How Project Valhalla Repays Java’s 20‑Year Generics Debt

The article traces the 20‑year history of Java’s type‑erased generics, contrasts it with C#’s reified generics, explains the performance and compatibility trade‑offs, and shows how Project Valhalla’s value classes and generic specialization finally close the gap.

JavaPerformancecsharp
0 likes · 23 min read
How Project Valhalla Repays Java’s 20‑Year Generics Debt
Architecture Digest
Architecture Digest
Aug 11, 2026 · Backend Development

Run Your First Embabel Java Agent in 30 Minutes: A Hands‑On Guide

This article walks you through setting up the environment, creating a Spring Boot project, defining strong‑typed domain models, implementing @Action methods, declaring goals, and running an interactive shell so you can build and execute a fully functional Embabel Java Agent that automatically generates a research brief.

AIEmbabelJava
0 likes · 9 min read
Run Your First Embabel Java Agent in 30 Minutes: A Hands‑On Guide
java1234
java1234
Aug 11, 2026 · Backend Development

Why More Developers Are Choosing Guava for Java Projects

Guava, Google’s core Java library, offers a rich set of utilities—immutable collections, null‑safe string handling, local caches, and concurrency helpers—that reduce boilerplate, prevent bugs, and integrate with a single Maven/Gradle dependency, making it a popular choice for modern Java backend development.

CacheGoogle Core LibrariesGradle
0 likes · 9 min read
Why More Developers Are Choosing Guava for Java Projects
Architect's Guide
Architect's Guide
Aug 11, 2026 · Backend Development

Boosting API Extensibility in SpringBoot with the Strategy Pattern

The article demonstrates how to combine SpringBoot with the Strategy pattern and a simple factory to route different business operations—add, subtract, multiply, divide—through a single API, registering strategy beans in a map for easy extension without modifying existing code.

Design PatternsExtensibilityJava
0 likes · 7 min read
Boosting API Extensibility in SpringBoot with the Strategy Pattern
Java Tech Workshop
Java Tech Workshop
Aug 11, 2026 · Backend Development

Achieving 6 Million Orders per Second with SpringBoot and LMAX Disruptor

The article explains why traditional Java BlockingQueue struggles under high load, introduces the LMAX Disruptor’s lock‑free ring buffer design, compares performance showing up to 600 万+ events per second versus 100 万 for ArrayBlockingQueue, and provides step‑by‑step SpringBoot integration with code examples and best‑practice tips.

DisruptorJavaPerformance
0 likes · 17 min read
Achieving 6 Million Orders per Second with SpringBoot and LMAX Disruptor
Su San Talks Tech
Su San Talks Tech
Aug 11, 2026 · Backend Development

Why Is Hutool 5 Gaining So Many Users?

Hutool 5 has become the de‑facto utility library for modern Java projects because it eliminates duplicated, error‑prone hand‑crafted utils, reduces code volume by up to 50%, offers a stable, modular API that works with JDK 8+, and provides ready‑to‑use features for strings, dates, files, HTTP, JSON, encryption and even AI integration.

ComparisonHutoolJava
0 likes · 27 min read
Why Is Hutool 5 Gaining So Many Users?
Java Architect Handbook
Java Architect Handbook
Aug 10, 2026 · Cloud Native

Tired of XXL‑Job? Try This Elegant Nacos‑Based Scheduling Solution

The article analyses why XXL‑Job’s separate registration, configuration, and weak sharding cause state inconsistency, observability gaps, and duplicate processing, then proposes JobFlow – a lightweight scheduler that removes redundant components, adds full‑traceId tracing, true sharding with distributed locks, exponential retry, and cloud‑native configuration managed by Nacos, all illustrated with concrete code snippets and deployment diagrams.

JavaNacosTask Scheduling
0 likes · 21 min read
Tired of XXL‑Job? Try This Elegant Nacos‑Based Scheduling Solution
Architect's Guide
Architect's Guide
Aug 10, 2026 · Backend Development

Building a Dynamic Thread Pool with SpringBoot and Nacos

This article demonstrates how to create a dynamically configurable thread pool in a SpringBoot application by leveraging Nacos as a centralized configuration center, covering dependencies, YAML setup, Java implementation, controller endpoints, and runtime testing.

ConfigurationDynamic Thread PoolJava
0 likes · 9 min read
Building a Dynamic Thread Pool with SpringBoot and Nacos
Architecture & Thinking
Architecture & Thinking
Aug 10, 2026 · Backend Development

From a Config Update API to Locking Strategies: Optimistic vs Pessimistic Locks Explained

After encountering potential data overwrite when updating configuration via an API, the author implements an optimistic lock using version numbers and revisits the fundamentals, comparing pessimistic and optimistic locking mechanisms, their implementations in SQL and Java, performance traits, pitfalls, and guidelines for choosing the appropriate strategy.

Javaconcurrency controldatabase locking
0 likes · 8 min read
From a Config Update API to Locking Strategies: Optimistic vs Pessimistic Locks Explained
Java Tech Enthusiast
Java Tech Enthusiast
Aug 9, 2026 · Backend Development

Spring Boot + Disruptor: Achieving Ultra‑Fast High‑Concurrency Processing for 6 Million Orders per Second

This article explains how to replace traditional message queues with LMAX Disruptor in a Spring Boot application, covering its core concepts, step‑by‑step implementation, and a demo that demonstrates lock‑free, high‑throughput processing capable of handling six million orders per second.

DisruptorJavaMessage Queue
0 likes · 10 min read
Spring Boot + Disruptor: Achieving Ultra‑Fast High‑Concurrency Processing for 6 Million Orders per Second
Architecture Digest
Architecture Digest
Aug 9, 2026 · Backend Development

Setting Up Trae IDE for Spring AI: A Quick‑Start Guide

This article walks Java developers through installing Trae IDE, configuring the required JDK, Maven and Spring AI dependencies, creating a Spring Boot project, adding AI model settings, implementing a chat controller with synchronous and streaming endpoints, and troubleshooting common issues.

AIAPI KeyBuilder mode
0 likes · 12 min read
Setting Up Trae IDE for Spring AI: A Quick‑Start Guide
SpringMeng
SpringMeng
Aug 9, 2026 · Backend Development

Why Even Experienced Java Developers Misunderstand isEmpty vs. isBlank

This article explains the precise differences between Apache Commons Lang's StringUtils.isEmpty, isBlank, and their related methods, providing concrete examples, code snippets, and usage guidelines to help developers avoid common pitfalls when checking string emptiness in Java.

Apache Commons LangJavaStringUtils
0 likes · 7 min read
Why Even Experienced Java Developers Misunderstand isEmpty vs. isBlank
Java Tech Workshop
Java Tech Workshop
Aug 9, 2026 · Backend Development

How Does Spring Boot Load Its Logging System?

This article explains Spring Boot's logging architecture, the early initialization process driven by LoggingApplicationListener, the three‑layer design with SLF4J, bridge packages and Logback, configuration file loading order, differences between logback.xml and logback‑spring.xml, and common troubleshooting steps.

ConfigurationJavaLogging
0 likes · 16 min read
How Does Spring Boot Load Its Logging System?
Java Tech Enthusiast
Java Tech Enthusiast
Aug 8, 2026 · Backend Development

Why Does Kafka Re‑Consume Tens of Thousands of Messages After a Successful Offset Commit?

The article explains why Kafka consumers can reprocess tens of thousands of messages after a restart despite successful offset commits, detailing the roles of automatic commit timing, rebalance triggers, GC pauses, and the limitations of manual commits, and offers practical configuration and idempotent processing solutions.

ConsumerJavaKafka
0 likes · 8 min read
Why Does Kafka Re‑Consume Tens of Thousands of Messages After a Successful Offset Commit?
Architecture & Thinking
Architecture & Thinking
Aug 8, 2026 · Fundamentals

Java Memory Model and Instruction Reordering: From Happens‑Before to Memory Barriers Explained

Most hidden thread‑safety bugs in Java stem from instruction reordering and memory‑visibility issues rather than simple atomicity conflicts; this article dissects the hardware‑level reordering, JMM’s happens‑before rules, and memory‑fence mechanisms, illustrating each concept with concrete code examples and classic concurrency pitfalls.

ConcurrencyHappens-BeforeJava
0 likes · 15 min read
Java Memory Model and Instruction Reordering: From Happens‑Before to Memory Barriers Explained
java1234
java1234
Aug 8, 2026 · Backend Development

Why Hutool 5 Is Gaining Popularity Among Java Developers

The article explains how Hutool 5 consolidates common Java utilities—such as string handling, date formatting, file I/O, HTTP requests, and cryptography—into concise, ready‑to‑use methods, reducing boilerplate code, simplifying project setup, and improving maintainability.

Code ExampleGradleHutool
0 likes · 11 min read
Why Hutool 5 Is Gaining Popularity Among Java Developers
Cloud Architecture
Cloud Architecture
Aug 7, 2026 · Backend Development

Designing an Industrial‑Grade Message Queue for Tens of Millions of Orders

This article presents a step‑by‑step design of HermesMQ, an industrial‑grade message queue built from scratch to support ten‑million‑order traffic, covering storage as sequential logs, network architecture with Netty and Reactor, high‑availability replication, partition ordering, transaction messaging, back‑pressure, observability, and practical deployment guidelines.

JavaMessage QueueNetwork Design
0 likes · 45 min read
Designing an Industrial‑Grade Message Queue for Tens of Millions of Orders
Cloud Architecture
Cloud Architecture
Aug 7, 2026 · Backend Development

Building a Trillion‑Message Queue: Kafka‑Level Architecture and Implementation

This article explains why and how to build a Kafka‑grade message‑queue kernel from scratch, detailing functional and non‑functional goals, core design principles, storage layout, replication, consumer‑group coordination, performance optimizations, deployment on Kubernetes, and a step‑by‑step roadmap to production‑grade reliability.

Distributed LogHigh throughputJava
0 likes · 40 min read
Building a Trillion‑Message Queue: Kafka‑Level Architecture and Implementation
IT Services Circle
IT Services Circle
Aug 7, 2026 · Information Security

Why Is Sa-Token Gaining So Much Traction?

Sa-Token has become a popular Java permission framework because it offers a lightweight, plug‑in‑driven architecture that automates authentication, authorization and session management, allowing developers to replace complex solutions like Spring Security with just a few lines of code while still supporting distributed deployments and advanced features.

AuthenticationJavaOpen Source
0 likes · 16 min read
Why Is Sa-Token Gaining So Much Traction?
IT Services Circle
IT Services Circle
Aug 7, 2026 · Operations

Midnight NullPointerException? How Arthas Fixes It in Minutes

When a production Java service throws a NullPointerException at 2 AM, this article shows how the Arthas diagnostic tool can attach to the running JVM, inspect threads, monitor method parameters, and pinpoint the faulty null value without restarting the service, all within a few minutes.

ArthasJVMJava
0 likes · 12 min read
Midnight NullPointerException? How Arthas Fixes It in Minutes
Java Tech Workshop
Java Tech Workshop
Aug 7, 2026 · Backend Development

Mastering MyBatis-Plus IPage: A Unified Solution for Pagination and Full-Data Export

This article examines common pitfalls of MyBatis-Plus IPage pagination, explains why naive approaches like using two mapper methods or setting pageSize to Integer.MAX_VALUE cause performance and consistency issues, and presents a single‑SQL strategy with custom count handling, cursor streaming, and best‑practice configurations for seamless pagination and full‑data export.

Full ExportIPageJava
0 likes · 20 min read
Mastering MyBatis-Plus IPage: A Unified Solution for Pagination and Full-Data Export
Xike
Xike
Aug 7, 2026 · Databases

Embedding Sharding Genes in Business IDs for Direct Routing in Sharded Databases

By embedding a shard identifier (“gene”) into the low bits of a business ID generated via Redis INCR or similar sequencers, the article shows how to achieve direct table routing without broadcast queries or extra mapping tables, detailing the algorithm, implementation, integration with Snowflake and Leaf, and common pitfalls.

JavaLeafRedis
0 likes · 11 min read
Embedding Sharding Genes in Business IDs for Direct Routing in Sharded Databases
Java Architecture Diary
Java Architecture Diary
Aug 7, 2026 · Artificial Intelligence

Why Skills v1.2 Is a Must-Have for AI Coding (Matt’s Top 5 Skills Lead the Leaderboard)

The new Skills v1.2 release adds Claude Code plugin support, revamps the grilling workflow to cut interaction rounds, and introduces three practical new skills—/wizard, /to-questionnaire, and /wait-what—while refactoring existing ones, offering a focused solution to the maintainability problems of AI‑generated code.

AI codingAgent AutomationClaude Code
0 likes · 8 min read
Why Skills v1.2 Is a Must-Have for AI Coding (Matt’s Top 5 Skills Lead the Leaderboard)
Programmer1970
Programmer1970
Aug 6, 2026 · Backend Development

Revisiting synchronized lock upgrade: JVM‑level details of biased, lightweight and heavyweight locks

This article explains how the JVM implements synchronized by using the object header's Mark Word to transition through biased, lightweight, and heavyweight lock states, covering the underlying data structures, lock acquisition and release processes, revocation, downgrade, tuning parameters, practical verification, performance pitfalls, and a comparison with ReentrantLock.

JVMJavaPerformance
0 likes · 16 min read
Revisiting synchronized lock upgrade: JVM‑level details of biased, lightweight and heavyweight locks
Cloud Architecture
Cloud Architecture
Aug 6, 2026 · Big Data

Exporting 10 Billion Elasticsearch Records: From Simple Script to Enterprise Offline Platform

The article analyses why exporting billions of Elasticsearch documents requires a full‑stack platform rather than a one‑off script, detailing the pitfalls of naive pagination, the benefits of PIT + search_after + slicing, and a complete architecture with Kafka, Redis, MySQL, Kubernetes and observability for reliable, scalable offline data export.

Big DataData ExportElasticsearch
0 likes · 40 min read
Exporting 10 Billion Elasticsearch Records: From Simple Script to Enterprise Offline Platform
CodeOnCode
CodeOnCode
Aug 6, 2026 · Backend Development

Why Mixed GC Doesn’t Empty the Old Generation in G1

Mixed GC in G1 only reclaims a portion of the Old generation that fits within the pause‑time budget, so seeing the Old region size stay high after a mixed pause does not mean G1 has failed, but rather reflects collection cost, survival rates, and budgeting constraints.

G1 GCGarbage CollectionJVM
0 likes · 16 min read
Why Mixed GC Doesn’t Empty the Old Generation in G1
Java Architect Handbook
Java Architect Handbook
Aug 6, 2026 · Backend Development

Why Using kill -9 to Stop a Java Service Can Cost You Your Job

The article explains how the forceful kill -9 command can corrupt data and break transactions in Java services, demonstrates the risks with MyISAM and distributed systems, and provides step‑by‑step guides for graceful shutdown using kill -15, ConfigurableApplicationContext.close, Spring Boot Actuator, and @PreDestroy hooks.

ActuatorJavaLinux kill
0 likes · 17 min read
Why Using kill -9 to Stop a Java Service Can Cost You Your Job
java1234
java1234
Aug 6, 2026 · Backend Development

Why Flowable Is Gaining Popularity Among Java Developers

Flowable is an open‑source Java workflow engine that follows the BPMN 2.0 standard, offering tighter Spring Boot integration, full CMMN/DMN support, better performance than Activiti, and flexible deployment options, with detailed comparisons to Activiti and Camunda and step‑by‑step Spring Boot and standalone examples.

ActivitiBPMNCamunda
0 likes · 8 min read
Why Flowable Is Gaining Popularity Among Java Developers
samdeepthink
samdeepthink
Aug 6, 2026 · Interview Experience

Interview Question: Find the Single Occurring Number in an Array – Three Solutions

The article presents a classic interview problem of locating the unique element in an integer array where every other value appears twice, and walks through three Java 17 implementations—brute‑force double loop, HashMap counting, and a bitwise XOR trick—detailing their time and space trade‑offs and practical considerations.

AlgorithmArrayBitwise XOR
0 likes · 8 min read
Interview Question: Find the Single Occurring Number in an Array – Three Solutions
samdeepthink
samdeepthink
Aug 5, 2026 · Backend Development

Building Enterprise‑Level CAS SSO: Lessons from Our First Implementation

When a company’s internal tools each required separate logins, the team built an enterprise‑grade CAS single sign‑on system that unified identity, login entry, logout handling, and extensible integration, and they document the entire process across nine detailed articles.

CASEnterprise AuthenticationJava
0 likes · 7 min read
Building Enterprise‑Level CAS SSO: Lessons from Our First Implementation
java1234
java1234
Aug 4, 2026 · Backend Development

Why Spring Boot Sticks with Jackson as Its Default JSON Library

The article explains why Spring Boot continues to use Jackson as its default JSON serializer, detailing the automatic ObjectMapper/JsonMapper creation, the HTTP message conversion process, Jackson’s balanced strengths, practical code samples, and how to switch to alternatives like Gson, JSON‑B, or Fastjson2.

GsonJacksonJava
0 likes · 15 min read
Why Spring Boot Sticks with Jackson as Its Default JSON Library
samdeepthink
samdeepthink
Aug 4, 2026 · Backend Development

Building a Mini RPC in Java 17: From Zero to Understanding Remote Calls

This article walks through creating a minimal Java 17 RPC framework—from defining a simple binary protocol and using JDK serialization to implementing server loops, dynamic proxy‑based clients, and a runnable demo—while also highlighting the gaps that production‑grade solutions like Dubbo or gRPC must fill.

Dynamic ProxyJavaJava 17
0 likes · 13 min read
Building a Mini RPC in Java 17: From Zero to Understanding Remote Calls
Linyb Geek Road
Linyb Geek Road
Aug 4, 2026 · Backend Development

Why AI Coding Is Slower in Java and Five Steps to Build a Harness Environment

The article explains why AI‑assisted coding works smoothly for lightweight projects but stalls on Java micro‑services due to cloud‑only dependencies, and presents a five‑principle harness‑engineering approach—dependency inversion, zero‑intrusion profile isolation, CLI tool integration, local validation scripts, and a checklist—to create a fully local, AI‑friendly development loop that dramatically reduces iteration time.

AI codingCLIDependency Inversion
0 likes · 21 min read
Why AI Coding Is Slower in Java and Five Steps to Build a Harness Environment
21CTO
21CTO
Aug 3, 2026 · Industry Insights

Oracle Bans AI-Generated Code in OpenJDK Amid Larry Ellison’s $70B AI Gamble

Oracle has prohibited any AI‑generated contributions to OpenJDK, citing security, review burden, and IP risks, while simultaneously betting billions on internal AI development, cutting staff, and facing credit‑rating downgrades, sparking a paradox that the tech community and investors are closely watching.

AI policyJavaOpenJDK
0 likes · 8 min read
Oracle Bans AI-Generated Code in OpenJDK Amid Larry Ellison’s $70B AI Gamble
Architect's Tech Stack
Architect's Tech Stack
Aug 3, 2026 · Artificial Intelligence

Spring Founder Returns with a New AI Agent Framework

Rod Johnson, the creator of Spring, introduces Embabel—a Kotlin‑based AI agent framework that uses GOAP planning to make agents deterministic, explainable, and Java‑friendly, aiming to turn uncontrolled AI demos into production‑ready systems.

AI AgentsEmbabelGOAP
0 likes · 3 min read
Spring Founder Returns with a New AI Agent Framework
Architect's Guide
Architect's Guide
Aug 3, 2026 · Backend Development

Say Goodbye to if‑else: Elegant Parameter Validation in Spring Boot

This article walks through why manual if‑else checks are cumbersome for API input validation, introduces Java Bean Validation (JSR‑303/349/380) and its implementations, shows how to use @Validated and @Valid annotations in Spring Boot, and demonstrates unified exception handling for clean error responses.

Bean ValidationHibernate ValidatorJava
0 likes · 21 min read
Say Goodbye to if‑else: Elegant Parameter Validation in Spring Boot
Java Tech Workshop
Java Tech Workshop
Aug 3, 2026 · Backend Development

A Ready‑to‑Use Spring Boot Template for Seamless Third‑Party Integration

The article explains why ad‑hoc third‑party integrations quickly become unmaintainable, identifies four common pain points, and presents a layered architecture using template method, strategy and factory patterns that abstracts common concerns such as retries, logging and signing, dramatically reducing duplicated code and maintenance effort.

JavaSpring BootStrategy Pattern
0 likes · 20 min read
A Ready‑to‑Use Spring Boot Template for Seamless Third‑Party Integration
SpringMeng
SpringMeng
Aug 3, 2026 · Backend Development

Long vs. BigDecimal: Which Is Best for Storing Money?

The article surveys ten community‑suggested approaches for representing monetary values in Java—ranging from using Long, BigDecimal, String, Protobuf, custom types, to following leadership or AI advice—highlighting each option’s rationale and trade‑offs such as precision, range, performance, and maintainability.

BigDecimalData TypesJava
0 likes · 4 min read
Long vs. BigDecimal: Which Is Best for Storing Money?
Java Tech Enthusiast
Java Tech Enthusiast
Aug 2, 2026 · Backend Development

Boost Excel Import/Export Performance in Spring Boot with EasyExcel

The article explains why native Apache POI causes memory‑explosion and maintenance headaches for Excel import/export in Java back‑ends, introduces Alibaba's EasyExcel as a low‑memory, annotation‑driven alternative, and provides step‑by‑step Spring Boot code for exporting, importing, custom conversion, validation, complex headers, pagination, template filling, and common pitfalls with concrete solutions.

AnnotationEasyExcelExcel export
0 likes · 16 min read
Boost Excel Import/Export Performance in Spring Boot with EasyExcel
IT Services Circle
IT Services Circle
Aug 1, 2026 · Backend Development

Can Virtual Threads in Java 21 Replace CompletableFuture for Asynchronous Programming?

With Java 21's cheap virtual threads, many of the blocking‑IO patterns that forced developers to write CompletableFuture callback chains can now be expressed as straightforward synchronous code, yet CompletableFuture still offers powerful task‑orchestration features that virtual threads alone cannot replace.

Asynchronous ProgrammingCompletableFutureConcurrency
0 likes · 9 min read
Can Virtual Threads in Java 21 Replace CompletableFuture for Asynchronous Programming?
Golang Shines
Golang Shines
Aug 1, 2026 · Backend Development

7 Reasons a 10‑Year Java Veteran Switched to Go

The author, a veteran Java and C# developer, outlines seven practical reasons—faster development, rapid builds, consistent code style, tiny Docker images, a rich standard library, lightweight goroutines, and a simple web server—that convinced him to abandon Java and C# for Go, boosting productivity.

Binary SizeC++Docker
0 likes · 10 min read
7 Reasons a 10‑Year Java Veteran Switched to Go
java1234
java1234
Aug 1, 2026 · Backend Development

Why Apache Tika Is Gaining Popularity for Unified File Content Extraction

The article explains how Apache Tika, an open‑source content analysis toolkit, lets developers detect file types, extract text and metadata from over a thousand formats, and integrate the functionality via a simple CLI, a RESTful server, or direct Java APIs, making it ideal for search, archiving, content moderation, and AI‑driven knowledge bases.

Apache TikaCLIContent Analysis
0 likes · 16 min read
Why Apache Tika Is Gaining Popularity for Unified File Content Extraction
Coder Life Journal
Coder Life Journal
Jul 30, 2026 · Backend Development

Why Faster Java Backend Code Isn’t the Real Value in the Age of AI Coding

Even when AI generates a compile‑ready, unit‑tested Java backend interface, true delivery requires explicit assumptions, domain‑driven constraints, behavior‑focused verification, and responsible hand‑off, shifting the engineer’s value from raw coding speed to risk‑aware design and validation.

AI codingDomain modelingJava
0 likes · 9 min read
Why Faster Java Backend Code Isn’t the Real Value in the Age of AI Coding
Java Companion
Java Companion
Jul 30, 2026 · Backend Development

Building a Complete E‑Commerce Site Solo with an Open‑Source Java Platform

The author describes how a freelance developer delivered a full‑featured e‑commerce store for a beauty influencer by adopting the open‑source CRMEB Java platform, detailing the tech stack, deployment steps, UI theming, built‑in marketing modules, and practical pros and cons of the solution.

CRMEBE‑commerceJava
0 likes · 11 min read
Building a Complete E‑Commerce Site Solo with an Open‑Source Java Platform
samdeepthink
samdeepthink
Jul 30, 2026 · Backend Development

Live Refactor: Turning a Messy Java Registration Method into Intent‑Clear Code

The article demonstrates how a convoluted Java user‑registration method—filled with magic error codes, inline regex checks, deep nesting, and mutable parameters—can be systematically refactored by introducing meaningful exception types, extracting password validation, applying early‑return style, and using immutable request records to produce clear, intent‑driven code.

Code RefactoringImmutabilityJava
0 likes · 7 min read
Live Refactor: Turning a Messy Java Registration Method into Intent‑Clear Code
Java Tech Workshop
Java Tech Workshop
Jul 29, 2026 · Backend Development

Why Spring Boot’s Built‑in StopWatch Is a Cleaner Way to Measure Execution Time

The article explains the drawbacks of manually using System.currentTimeMillis for multi‑stage timing, introduces Spring’s StopWatch utility from spring‑core, demonstrates its API and code examples, shows three common usage scenarios, warns about pitfalls, compares it with raw timers, and argues why Spring itself adopts StopWatch for concise, structured performance monitoring.

AOPJavaPerformance
0 likes · 12 min read
Why Spring Boot’s Built‑in StopWatch Is a Cleaner Way to Measure Execution Time
Su San Talks Tech
Su San Talks Tech
Jul 28, 2026 · Information Security

Fastjson 1.x Exposes Critical CVSS 9.8 RCE Vulnerability and What to Do

Fastjson 1.x (versions 1.2.66‑1.2.83) contains a CVSS 9.8 remote‑code‑execution flaw that works with default settings, was disclosed in July 2026, and sparked heated community debate, while the library had already been unmaintained since 2024 and official guidance now recommends migration to Fastjson 2.x or enabling SafeMode.

FastjsonJavaOpen Source Security
0 likes · 9 min read
Fastjson 1.x Exposes Critical CVSS 9.8 RCE Vulnerability and What to Do
samdeepthink
samdeepthink
Jul 28, 2026 · Backend Development

Why Ignoring Non‑Critical Alerts Is Safe When Core Services Are Monitored

The author explains that when core business modules are properly monitored with structured logs and dedicated alert groups, a flood of non‑critical alerts can be ignored, shares a lightweight Java StructuredLog utility, and outlines best practices for real‑time monitoring and log standardization.

Backend DevelopmentDingTalkJava
0 likes · 9 min read
Why Ignoring Non‑Critical Alerts Is Safe When Core Services Are Monitored
Java Tech Workshop
Java Tech Workshop
Jul 28, 2026 · Fundamentals

Why Is AQS the Cornerstone of Java Concurrency?

The article explains how Java's AbstractQueuedSynchronizer (AQS) serves as the foundational framework for most JUC utilities by encapsulating state, a FIFO wait queue, and template methods, and demonstrates its design through detailed source analysis of ReentrantLock, Semaphore, CountDownLatch, and a custom latch.

AQSAbstractQueuedSynchronizerConcurrency
0 likes · 17 min read
Why Is AQS the Cornerstone of Java Concurrency?
Java Baker
Java Baker
Jul 28, 2026 · Backend Development

Choosing the Right Distributed Lock: A Guide for Architects

Distributed locks are essential for coordinating access to shared resources across multiple machines; this article compares common solutions—Redis locks, database optimistic and logical locks, DB row locks, and Zookeeper locks—detailing their principles, pros, cons, implementation details, and best‑fit scenarios.

ConcurrencyJavaRedis
0 likes · 15 min read
Choosing the Right Distributed Lock: A Guide for Architects
dbaplus Community
dbaplus Community
Jul 27, 2026 · Backend Development

Why Java AI Coding Feels Slower and How to Build a Harness Environment in Five Steps

The article explains that Java micro‑service projects feel a whole order of magnitude slower for AI‑assisted coding because they rely on cloud‑only infrastructure, and it presents a five‑principle methodology—dependency inversion, zero‑intrusion profiles, CLI‑first tools, local adapters, and verification scripts—to create a local Harness environment that lets AI agents verify and iterate code autonomously.

AI codingCLIJava
0 likes · 24 min read
Why Java AI Coding Feels Slower and How to Build a Harness Environment in Five Steps