Tagged articles

Java

5000 articles · Page 3 of 50
Dabaoshi
Dabaoshi
Aug 8, 2026 · Fundamentals

Strategy Pattern: Replacing Conditional Branches with Pluggable Algorithms

The article explains how the Strategy design pattern solves the maintenance nightmare of tangled if‑else or switch statements by extracting each algorithm into its own strategy class, detailing the roles, selection mechanisms, Java examples, and when the pattern is appropriate.

ComparatorDependency InjectionDesign Patterns
0 likes · 14 min read
Strategy Pattern: Replacing Conditional Branches with Pluggable Algorithms
Dabaoshi
Dabaoshi
Aug 8, 2026 · Fundamentals

Bridge Pattern – How to Avoid Multiplicative Class Explosion in Structural Design

The article explains how the Bridge design pattern separates two orthogonal dimensions—such as order type and notification channel—into independent hierarchies, replacing inheritance‑driven class explosion with compositional bridges, and demonstrates its rationale, code, real‑world examples, and differences from similar patterns.

Bridge PatternComposition over InheritanceDesign Patterns
0 likes · 14 min read
Bridge Pattern – How to Avoid Multiplicative Class Explosion in Structural Design
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.

JavaTransaction Messagingdistributed systems
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 LogJavaKafka
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.

AuthorizationJavaSa-Token
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.

BackendCursorFull Export
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)
Dabaoshi
Dabaoshi
Aug 6, 2026 · Fundamentals

Facade Pattern: Simplify Complex Subsystems with a Unified Interface

The article explains how the Facade design pattern hides the intricacies of multiple subsystems—such as inventory, payment, logistics, and notification—behind a single, easy‑to‑use class, illustrating the problem, solution, code examples, relation to the Law of Demeter, real‑world usages, and common pitfalls.

Design PatternsFacade PatternJava
0 likes · 14 min read
Facade Pattern: Simplify Complex Subsystems with a Unified Interface
Dabaoshi
Dabaoshi
Aug 6, 2026 · Fundamentals

Design Pattern #10 – Composite Pattern: Organizing a Group of Objects

The article explains how the Composite pattern solves the pain of handling tree‑like structures—such as orders with nested packages—by providing a uniform component interface that eliminates instanceof checks, discusses transparent vs safe variants, shows real‑world library examples, and outlines when the pattern is appropriate.

Composite PatternDesign PatternsJava
0 likes · 14 min read
Design Pattern #10 – Composite Pattern: Organizing a Group of Objects
Dabaoshi
Dabaoshi
Aug 6, 2026 · Fundamentals

Design Patterns 09 – Adapter Pattern: Connecting Incompatible Interfaces

Adapter pattern acts as a translation layer that lets existing classes with mismatched interfaces interoperate without modification, illustrated through a logistics API integration example, with detailed object and class adapter implementations, trade‑off analysis, standard library and Spring examples, and a comparison with decorator and proxy patterns.

AdapterClass AdapterDesign Patterns
0 likes · 14 min read
Design Patterns 09 – Adapter Pattern: Connecting Incompatible Interfaces
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.

Data ExportElasticsearchJava
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 GCJVMJava
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.

ActuatorGraceful ShutdownJava
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.

Bitwise XORHashMapJava
0 likes · 8 min read
Interview Question: Find the Single Occurring Number in an Array – Three Solutions
Dabaoshi
Dabaoshi
Aug 5, 2026 · Fundamentals

Understanding the Decorator Pattern: Dynamic Runtime Enhancements with Java Examples

The article explains the Decorator pattern, showing how it dynamically adds functionality to objects without modifying them or using inheritance, using an order pricing example and Java IO streams, compares it with inheritance and Proxy, and outlines when to apply decorators effectively.

CompositionDecoratorDesign Patterns
0 likes · 16 min read
Understanding the Decorator Pattern: Dynamic Runtime Enhancements with Java Examples
Dabaoshi
Dabaoshi
Aug 5, 2026 · Fundamentals

Proxy Pattern Explained: Static, JDK Dynamic, and CGLIB Implementations

This article introduces the structural Proxy pattern, demonstrates three implementations—hand‑written static proxy, JDK dynamic proxy, and CGLIB subclass proxy—explains their mechanisms, trade‑offs, and limitations, and shows how Spring AOP selects between them for cross‑cutting concerns like logging, transactions, and caching.

CGLIBDesign PatternsJava
0 likes · 17 min read
Proxy Pattern Explained: Static, JDK Dynamic, and CGLIB Implementations
Dabaoshi
Dabaoshi
Aug 5, 2026 · Fundamentals

Prototype Pattern: The Final Creational Design Pattern Explained

The article explains the Prototype design pattern, showing how cloning existing objects can replace costly object construction, details Java’s Cloneable and clone() mechanisms, the pitfalls of shallow copying, and various deep‑copy techniques such as manual recursion, serialization, and library utilities.

CloneableDeep CopyDesign Patterns
0 likes · 18 min read
Prototype Pattern: The Final Creational Design Pattern Explained
Dabaoshi
Dabaoshi
Aug 5, 2026 · Fundamentals

Builder Pattern in Java: Clean, Immutable Construction for Complex Objects

The article explains why traditional telescoping constructors and JavaBean setters fail for objects with many optional fields, and demonstrates how the Builder pattern—both the simplified static inner class version and the full GoF version with a Director—provides readable, step‑by‑step assembly, mandatory validation, and immutable results, with guidance on when to apply it.

Builder PatternDesign PatternsImmutable
0 likes · 20 min read
Builder Pattern in Java: Clean, Immutable Construction for Complex Objects
Dabaoshi
Dabaoshi
Aug 5, 2026 · Fundamentals

Abstract Factory Pattern: Building Whole Product Families, Not Just Single Products

The article explains the Abstract Factory pattern by contrasting product families with product hierarchies, showing why the Factory Method fails for bundled products, presenting the pattern's structure and code, and detailing its open‑closed principle tilt and appropriate usage scenarios.

Abstract FactoryDesign PatternsJava
0 likes · 17 min read
Abstract Factory Pattern: Building Whole Product Families, Not Just Single Products
Xiaolin Talks Programming
Xiaolin Talks Programming
Aug 5, 2026 · Backend Development

Spring Boot + Caffeine: Multi-Level Cache Architecture, Consistency & Load Tests

This article details integrating Caffeine with Spring Boot 3.x for a three-tier L1/L2/DB cache architecture, covering Window TinyLFU internals, refreshAfterWrite vs expireAfterWrite, manual vs annotation-driven integration, read/write paths, message-driven invalidation with version stamps, load test results showing 48k QPS at 2ms P99, and production tuning for memory, GC, and hot-key protection.

CaffeineJavaLoad Testing
0 likes · 20 min read
Spring Boot + Caffeine: Multi-Level Cache Architecture, Consistency & Load Tests
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
Dabaoshi
Dabaoshi
Aug 4, 2026 · Fundamentals

Factory Method Pattern: Deciding Which Variant to Create

This article walks through the evolution from direct object instantiation to Simple Factory and finally to the Factory Method pattern, explaining why scattering new statements is problematic, how Simple Factory centralizes creation but still violates the Open/Closed principle, and how the Factory Method delegates the decision to specialized factories, complete with code examples, role definitions, and guidance on when to apply each approach.

Design PatternJavaObject Creation
0 likes · 16 min read
Factory Method Pattern: Deciding Which Variant to Create
CTO Full-Stack Academy
CTO Full-Stack Academy
Aug 4, 2026 · Fundamentals

Mastering SOLID: Real‑World Java Examples for Clean OOP Design

This article explains the five SOLID object‑oriented design principles with everyday Java scenarios, showing bad implementations, proper refactorings, practical criteria for each rule, and common pitfalls to help developers write more maintainable and extensible code.

JavaObject-Oriented DesignSOLID
0 likes · 9 min read
Mastering SOLID: Real‑World Java Examples for Clean OOP Design
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.

GsonJSONJackson
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.

JavaJava 17RPC
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 codingCLIHarness Engineering
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.

Hibernate ValidatorJavaSpring Boot
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?
Dabaoshi
Dabaoshi
Aug 2, 2026 · Fundamentals

Master the Seven Design Principles Before Tackling Design Patterns

The article explains that design patterns rely on solid design principles—SRP, OCP, LSP, DIP, ISP, LoD, and CARP—using a flawed order‑processing example to show each principle, how to refactor the code, and why over‑engineering must be avoided.

JavaObject-Oriented DesignSOLID
0 likes · 24 min read
Master the Seven Design Principles Before Tackling Design Patterns
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.

EasyExcelExcel ExportJava
0 likes · 16 min read
Boost Excel Import/Export Performance in Spring Boot with EasyExcel
Three Knives
Three Knives
Aug 1, 2026 · Backend Development

Can Java Interceptors Avoid Dynamic Proxies? Feat’s AOT Solution Explained

Feat 2.3.0 introduces compile‑time generated interceptors that replace Spring‑style runtime proxies, showing how AOT weaving eliminates reflection overhead, reduces startup cost, and offers a clean stack trace, while outlining the trade‑offs, limitations, and practical usage guidelines for Java developers.

AOTBackendFeat
0 likes · 9 min read
Can Java Interceptors Avoid Dynamic Proxies? Feat’s AOT Solution Explained
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 ProgrammingCompletableFutureJava
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
Dabaoshi
Dabaoshi
Jul 31, 2026 · Backend Development

JVM GC Tuning and Live Production Troubleshooting

This article guides backend engineers through practical JVM garbage‑collection tuning and on‑line incident diagnosis, covering measurement‑first principles, JDK 8 vs 17 log changes, key JVM flags, essential tooling, and step‑by‑step real‑world cases for CPU spikes, memory leaks, and deadlocks.

ArthasGCJFR
0 likes · 20 min read
JVM GC Tuning and Live Production Troubleshooting
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 codingBackend EngineeringJava
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.

CRMEBJavaSpringBoot
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.

ImmutabilityJavabest practices
0 likes · 7 min read
Live Refactor: Turning a Messy Java Registration Method into Intent‑Clear Code
Dabaoshi
Dabaoshi
Jul 29, 2026 · Fundamentals

How the JVM Allocates Objects and Arranges Their Memory Layout

This article walks through the JVM's six-step process for creating a new object, explains heap allocation strategies and thread‑local buffers, details escape analysis optimizations, reveals the exact memory layout of an object including header and padding, compares handle versus direct pointer access, and describes reachability‑based garbage collection with the four Java reference types.

JVMJavaObject Allocation
0 likes · 22 min read
How the JVM Allocates Objects and Arranges Their Memory Layout
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.

AQSAbstractQueuedSynchronizerJava
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.

JavaOptimistic LockRedis
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 codingCLIHarness Engineering
0 likes · 24 min read
Why Java AI Coding Feels Slower and How to Build a Harness Environment in Five Steps
Dabaoshi
Dabaoshi
Jul 27, 2026 · Fundamentals

Understanding JVM Runtime Data Areas: From JDK 8 to JDK 17

This article walks through the five JVM runtime data areas, explains the distinction between the JVM specification and HotSpot implementation, compares the PermGen to Metaspace transition from JDK 8 to JDK 17, and provides hands‑on code to reproduce each type of memory‑related OutOfMemoryError.

HeapJVMJava
0 likes · 22 min read
Understanding JVM Runtime Data Areas: From JDK 8 to JDK 17
samdeepthink
samdeepthink
Jul 27, 2026 · Backend Development

WeChat Pay Integration Walkthrough: From Order Creation to Callback Confirmation

This article walks through a production‑grade WeChat Pay V2 integration, detailing the multi‑layer architecture, required configuration, unified order parameters, thread‑safe service usage, signature generation, and a four‑step callback verification process—including signature check, idempotency, amount validation, and active order query—to ensure reliable payment confirmation.

Callback SecurityJavaMicroservices
0 likes · 18 min read
WeChat Pay Integration Walkthrough: From Order Creation to Callback Confirmation
Java Tech Workshop
Java Tech Workshop
Jul 27, 2026 · Backend Development

Spring Boot + EasyExcel: High‑Performance, Elegant Excel Import/Export

This article explains why native Apache POI causes memory‑heavy, boilerplate Excel import/export code, introduces Alibaba's EasyExcel as a low‑memory, annotation‑driven alternative, and provides step‑by‑step Spring Boot examples for exporting, importing, custom conversion, validation, pagination, and template filling while highlighting common pitfalls and solutions.

EasyExcelExcel ExportJava
0 likes · 15 min read
Spring Boot + EasyExcel: High‑Performance, Elegant Excel Import/Export
SpringMeng
SpringMeng
Jul 27, 2026 · Backend Development

Why More Developers Choose Apache PDFBox for PDF Processing

This article provides a comprehensive guide to Apache PDFBox, covering its licensing advantages, architecture, installation, core operations such as creating, editing, extracting, merging, encrypting PDFs, migration tips from 2.x to 3.x, performance considerations, and recommended use cases for Java backend development.

ApacheJavaPDF manipulation
0 likes · 17 min read
Why More Developers Choose Apache PDFBox for PDF Processing
The Dominant Programmer
The Dominant Programmer
Jul 26, 2026 · Artificial Intelligence

Building Smart Agents with Spring AI Alibaba: A Hands‑On Guide

This article walks through the Spring AI Alibaba Agent Framework (v1.1.2.0), explaining the ReAct reasoning‑acting loop, core APIs, configuration, code examples, testing commands, and common troubleshooting steps so developers can quickly create LLM‑driven agents with tool‑calling and memory support.

Agent FrameworkAlibabaJava
0 likes · 15 min read
Building Smart Agents with Spring AI Alibaba: A Hands‑On Guide
Ops Community
Ops Community
Jul 26, 2026 · Operations

When APM Agent Overheads Spike: In‑Depth Comparison of SkyWalking vs Pinpoint

The article provides a step‑by‑step methodology for establishing a performance baseline, verifying JVM and agent versions, collecting CPU, memory, GC, thread, and network metrics, configuring SkyWalking and Pinpoint agents, running controlled experiments, and using the results to choose the most suitable APM probe.

APMJavaPerformance
0 likes · 15 min read
When APM Agent Overheads Spike: In‑Depth Comparison of SkyWalking vs Pinpoint
java1234
java1234
Jul 26, 2026 · Backend Development

Why PDFBox Is Gaining Popularity Among Java Developers

Apache PDFBox, an open‑source Java library under the Apache 2.0 license, lets developers create, read, modify, and extract data from PDFs, offering extensive features, command‑line tools, and seamless Maven integration, which explains its growing adoption in Java‑based backend and enterprise projects.

ApacheJavaMaven
0 likes · 9 min read
Why PDFBox Is Gaining Popularity Among Java Developers
Coder Life Journal
Coder Life Journal
Jul 26, 2026 · Industry Insights

Why Writing Less Code with AI Makes Developers More Anxious

Although AI coding tools let Java developers generate DTOs, interfaces, tests and business logic faster, the resulting speed boost often leaves them uneasy because the reasoning and design decisions that used to be embedded in handwritten code disappear, leading to deeper doubts during review and deployment.

AI codingJavaautomation
0 likes · 7 min read
Why Writing Less Code with AI Makes Developers More Anxious
LuTiao Programming
LuTiao Programming
Jul 25, 2026 · Backend Development

Why Delayed Double Delete Fails: A Hierarchical Java Design for MySQL‑Redis Consistency

The article analyzes why MySQL and Redis cannot guarantee strong consistency with simple cache‑aside patterns, explains the pitfalls of delayed double delete, and presents a tiered Java design—including transaction‑after‑commit deletion, retryable invalidation, CDC/Outbox pipelines, TTL safeguards, and multi‑level cache considerations—to achieve reliable cache consistency.

CDCCache invalidationJava
0 likes · 22 min read
Why Delayed Double Delete Fails: A Hierarchical Java Design for MySQL‑Redis Consistency
IT Services Circle
IT Services Circle
Jul 25, 2026 · Backend Development

Why More Developers Are Choosing Spring WebFlux for High‑Performance Applications

Spring WebFlux replaces the thread‑per‑request model of Spring MVC with an event‑loop, non‑blocking architecture that dramatically reduces memory and CPU usage, supports back‑pressure, streaming, and GraalVM native images, making it ideal for high‑concurrency microservices while acknowledging its learning curve and debugging challenges.

GraalVMJavaMicroservices
0 likes · 18 min read
Why More Developers Are Choosing Spring WebFlux for High‑Performance Applications
CodeSmart Hoops
CodeSmart Hoops
Jul 25, 2026 · Backend Development

Interview Self‑Test: Spring Boot Actuator Health Checks – Quick Review & Must‑Know Answers

This article provides a comprehensive interview self‑test covering Spring Boot Actuator’s built‑in endpoints, health‑check JSON format, status aggregation logic, custom HealthIndicator implementation, show‑details configuration, @Endpoint operation annotations, liveness vs. readiness probes, handling of DOWN status, disabling auto‑configured indicators, security risks of exposing all endpoints, HealthIndicatorRegistry naming rules, additional Actuator endpoints, CompositeHealth construction, and custom HealthStatusHttpMapper mapping.

ActuatorJavaKubernetes
0 likes · 22 min read
Interview Self‑Test: Spring Boot Actuator Health Checks – Quick Review & Must‑Know Answers
The Dominant Programmer
The Dominant Programmer
Jul 24, 2026 · Backend Development

Build a Spring Boot Code Review Skill: Turn Claude Code into Your Senior Architect

This guide walks you through creating a Claude Code Skill for Spring Boot projects that automates comprehensive, security‑aware code reviews by encapsulating architectural standards, generating structured reports, and integrating with CI/CD pipelines to boost code quality and team productivity.

AI AutomationBackend DevelopmentClaude Code
0 likes · 16 min read
Build a Spring Boot Code Review Skill: Turn Claude Code into Your Senior Architect
Top Architect
Top Architect
Jul 24, 2026 · Backend Development

Stop Manually Deploying JARs: Embrace Dynamic Hot Deployment

The article demonstrates how to let users upload a JAR that implements a given interface, then hot‑replace the implementation at runtime using either reflection or Spring annotation‑based loading, covering class loading, bean registration, and cleanup with concrete code examples.

Dynamic LoadingHot DeploymentJava
0 likes · 10 min read
Stop Manually Deploying JARs: Embrace Dynamic Hot Deployment
CodeSmart Hoops
CodeSmart Hoops
Jul 24, 2026 · Backend Development

Hands‑On Unit Testing of Spring Boot Actuator Health Checks

This guide walks through setting up Spring Boot 3.x with JDK 17+, adding Actuator and test dependencies, and implementing a comprehensive JUnit 5 test suite that validates health endpoint aggregation, status priority, show‑details configuration, custom endpoints, JVM metrics, endpoint exposure, health groups, and custom HTTP status mapping, with instructions for running the tests via Maven or an IDE.

ActuatorJDK 17JUnit5
0 likes · 17 min read
Hands‑On Unit Testing of Spring Boot Actuator Health Checks
LuTiao Programming
LuTiao Programming
Jul 24, 2026 · Backend Development

Why Scheduled Tasks Run Multiple Times in a Cluster – The Real Issue Isn’t Quartz but Poor Architecture

When a Java application that uses Spring’s @Scheduled moves from a single server to a cluster, the same job may execute on every node, causing duplicate orders, messages, and data; the article explains why this happens, examines common lock‑based fixes and their pitfalls, and proposes a robust, idempotent, sharded task architecture.

@ScheduledBackendJava
0 likes · 15 min read
Why Scheduled Tasks Run Multiple Times in a Cluster – The Real Issue Isn’t Quartz but Poor Architecture
Programmer1970
Programmer1970
Jul 23, 2026 · Fundamentals

6 Real Scenarios That Break Java’s ClassLoader Parent‑Delegation Model

The article examines six practical situations—SPI, Tomcat WebAppClassLoader, OSGi bundles, JDBC driver loading, custom ClassLoaders, and Java agents—where Java’s default parent‑delegation class‑loading mechanism is intentionally bypassed, explaining the motivations, implementations, and associated risks of each approach.

ClassLoaderJavaOSGi
0 likes · 13 min read
6 Real Scenarios That Break Java’s ClassLoader Parent‑Delegation Model
samdeepthink
samdeepthink
Jul 23, 2026 · Backend Development

Enterprise-Scale Source Code for 4 Real-World Projects: Flash Sale, Product Catalog, Payment System, and DDD Implementation

The author releases the complete, production‑ready source code for four enterprise‑level projects—a flash‑sale service handling 60 million members, a high‑concurrency product system for hundreds of millions of users, a payment platform serving over a hundred million users, and a three‑year DDD migration case study—while the fifth column remains under development.

DDDJavaMicroservices
0 likes · 5 min read
Enterprise-Scale Source Code for 4 Real-World Projects: Flash Sale, Product Catalog, Payment System, and DDD Implementation
SpringMeng
SpringMeng
Jul 23, 2026 · Backend Development

Escape the if‑else Nightmare: Why Workflow Orchestration Is a Game‑Changer

The article explains how excessive if‑else branching in multi‑business systems leads to maintenance chaos, and demonstrates how a workflow engine combined with plugin extensions can isolate code, simplify extensions, and improve reliability through configurable flow chains and node execution.

JavaProcess Enginebackend architecture
0 likes · 6 min read
Escape the if‑else Nightmare: Why Workflow Orchestration Is a Game‑Changer
LuTiao Programming
LuTiao Programming
Jul 22, 2026 · Backend Development

Why Does Pagination Slow Down at 10 Million Records? Rethinking MySQL LIMIT in Java Backends

The article explains why deep pagination with large offsets becomes increasingly slow, why adding indexes often does not help, examines common “optimizations” like delayed joins, introduces cursor (keyset) pagination as a high‑performance alternative, and provides practical guidelines for designing pagination APIs in Java back‑ends at scale.

Cursor PaginationDeep PaginationJava
0 likes · 16 min read
Why Does Pagination Slow Down at 10 Million Records? Rethinking MySQL LIMIT in Java Backends
CTO Full-Stack Academy
CTO Full-Stack Academy
Jul 22, 2026 · Information Security

Understanding Path Traversal: How Directory Traversal Leads to Arbitrary File Reads

The article explains how unsanitized user‑supplied filenames combined with simple path concatenation enable attackers to traverse directories and read arbitrary files, illustrates common vulnerable endpoints with Java examples, and outlines prioritized defenses such as ID whitelisting and canonical path validation.

JavaWeb Securitydirectory traversal
0 likes · 7 min read
Understanding Path Traversal: How Directory Traversal Leads to Arbitrary File Reads
Random Bulletin
Random Bulletin
Jul 22, 2026 · Backend Development

Lock Optimization at Ten‑Million QPS: From Coarse Locks to Lock‑Free Designs

When a service’s QPS jumps from two to eight million, a single global lock can turn a multi‑core machine into a bottleneck, so the article walks through coarse‑lock problems, fine‑grained locking, read‑write separation, optimistic reads, CAS‑based lock‑free techniques, LongAdder and advanced data structures, showing when each step is appropriate for high‑throughput systems.

CASJavaLock-Free
0 likes · 19 min read
Lock Optimization at Ten‑Million QPS: From Coarse Locks to Lock‑Free Designs
Su San Talks Tech
Su San Talks Tech
Jul 22, 2026 · Artificial Intelligence

Getting Started with AgentScope-Java: Build Enterprise AI Agents in Minutes

This guide introduces AgentScope-Java, Alibaba's open‑source Java framework for building production‑grade AI agents, explains how it solves the lack of Java‑native agent tools, compares it with Spring AI Alibaba, walks through core concepts, installation, tool registration, multi‑agent orchestration, underlying architecture, distributed deployment, real‑world examples, and evaluates its strengths and limitations.

AI AgentsAgentScopeHarnessAgent
0 likes · 27 min read
Getting Started with AgentScope-Java: Build Enterprise AI Agents in Minutes
The Dominant Programmer
The Dominant Programmer
Jul 21, 2026 · Backend Development

Practical Guide to Applying Domain‑Driven Design in Spring Boot Microservices

This guide explains Domain‑Driven Design (DDD) and shows how to structure Spring Boot microservices by organizing code around business domains, detailing strategic and tactical concepts, package layouts, layer responsibilities, cross‑domain communication, comparisons with traditional layering, evolution steps, and common FAQs.

DDDDomain-Driven DesignJava
0 likes · 19 min read
Practical Guide to Applying Domain‑Driven Design in Spring Boot Microservices
Coder Life Journal
Coder Life Journal
Jul 21, 2026 · Backend Development

Why ThreadPoolExecutor Won’t Expand When the Queue Isn’t Full

The article explains that ThreadPoolExecutor’s execution flow first fills core threads, then enqueues tasks, and only creates non‑core threads after the work queue is full, so a high maximumPoolSize (e.g., 100) does not guarantee rapid thread growth, and queue choice and rejection policies critically shape scaling behavior.

JavaQueueRejectionPolicy
0 likes · 9 min read
Why ThreadPoolExecutor Won’t Expand When the Queue Isn’t Full
Top Architect
Top Architect
Jul 21, 2026 · Backend Development

Stop Confusing PO, VO, BO, DTO, DAO, and POJO – A Complete Guide

This article clarifies the roles and differences of PO, VO, BO, DTO, DAO, and POJO in Java backend development, showing where each object belongs in the architecture, providing concrete code examples, and offering practical advice to keep layers clean and maintainable.

ArchitectureBOBackend
0 likes · 11 min read
Stop Confusing PO, VO, BO, DTO, DAO, and POJO – A Complete Guide
Tinker Programmer
Tinker Programmer
Jul 21, 2026 · Backend Development

Migrating a High‑Traffic Java 8 Service to JDK 21/25: Pitfalls, Compatibility Checks, and Best‑Practice SOP

The author details a production migration of a core transaction service from Java 8 to JDK 21/25—handling millions of users and 30 k QPS—by exposing runtime silent‑failure pitfalls, outlining six compatibility‑risk categories, prescribing version‑selection rules, a step‑by‑step gray‑scale upgrade and rollback plan, and quantifying performance gains such as ZGC latency reduction and AppCDS startup speedup.

JDK 21JDK 25Java
0 likes · 20 min read
Migrating a High‑Traffic Java 8 Service to JDK 21/25: Pitfalls, Compatibility Checks, and Best‑Practice SOP
Java Tech Workshop
Java Tech Workshop
Jul 21, 2026 · Backend Development

A Lighter‑Than‑MQ Async Solution: Spring’s Hidden Transactional Event Feature

The article explains how Spring’s built‑in @Async and TransactionalEventListener mechanisms provide a lightweight, zero‑dependency alternative to external message queues for local asynchronous processing, detailing their advantages, limitations, and production‑grade enhancements such as custom thread pools, dead‑letter persistence, and clustering strategies.

@AsyncJavaSpring
0 likes · 17 min read
A Lighter‑Than‑MQ Async Solution: Spring’s Hidden Transactional Event Feature
Su San Talks Tech
Su San Talks Tech
Jul 21, 2026 · Backend Development

Why Apache PDFBox Is Becoming the Go-To Java PDF Library

This article provides a comprehensive guide to Apache PDFBox, covering its licensing advantages, latest version, installation steps, core APIs for creating, editing, extracting, merging, encrypting and signing PDFs, underlying architecture, migration tips, performance considerations, and real‑world use cases.

Apache PDFBoxJavaOpen-source libraries
0 likes · 18 min read
Why Apache PDFBox Is Becoming the Go-To Java PDF Library
LuTiao Programming
LuTiao Programming
Jul 20, 2026 · Artificial Intelligence

AI Coding Agents Boost PRs 24%—Why Java Teams Face New Challenges

Microsoft’s study of tens of thousands of engineers shows AI coding agents raise merged pull requests by 24%, but the metric masks deeper issues: faster code production creates verification bottlenecks, knowledge debt, and a shift from coding to review that Java teams must address.

AI AgentsAI codingJava
0 likes · 14 min read
AI Coding Agents Boost PRs 24%—Why Java Teams Face New Challenges
Su San Talks Tech
Su San Talks Tech
Jul 20, 2026 · Backend Development

What’s New in Jackson 3? A Complete Migration Guide

This article explains the major breaking changes introduced in Jackson 3—including the JDK 17 baseline, package and groupId renames, immutable JsonMapper, unchecked exceptions, default configuration shifts, performance tweaks, and module consolidation—while providing step‑by‑step migration advice and a quick‑reference table for developers upgrading from Jackson 2.

JSONJacksonJava
0 likes · 16 min read
What’s New in Jackson 3? A Complete Migration Guide
Java Tech Workshop
Java Tech Workshop
Jul 20, 2026 · Backend Development

Spring Boot 4’s Underrated Feature: Spring Data AOT Explained

Spring Data AOT in Spring Boot 4 moves all repository parsing, reflection and query generation to compile time, dramatically cutting startup time, reducing memory and Metaspace usage, enabling compile‑time SQL validation, simplifying GraalVM native‑image configuration, and providing measurable performance gains backed by real‑world benchmarks.

AOTGraalVMJava
0 likes · 17 min read
Spring Boot 4’s Underrated Feature: Spring Data AOT Explained
samdeepthink
samdeepthink
Jul 20, 2026 · Fundamentals

Implementing the Singleton Pattern in One Line: Scala vs. Java

The article shows that Scala’s built‑in object keyword lets you create a singleton with a single line, contrasts this with Java’s multi‑line implementation, explains why design patterns exist, and discusses when and how to use them responsibly.

Design PatternsJavaScala
0 likes · 3 min read
Implementing the Singleton Pattern in One Line: Scala vs. Java