Tagged articles
5000 articles
Page 7 of 50
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Dec 25, 2025 · Fundamentals

Overloads vs Overrides in Java: When and How They Differ

This article explains the distinction between method overloading and method overriding in Java, covering their definitions, how the compiler or runtime selects the appropriate method, differences in method signatures, return types, and timing, and provides clear code examples for each concept.

Method OverloadingMethod OverridingOOP
0 likes · 5 min read
Overloads vs Overrides in Java: When and How They Differ
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Dec 24, 2025 · Fundamentals

Understanding Java’s final, finally, and finalize: Usage, Pitfalls, and Best Practices

This article explains the distinct purposes of Java's final keyword, finally block, and finalize method, shows how to use them with classes, methods, and variables, highlights scenarios where finally may not run, discusses finalize deprecation, and recommends modern resource‑management techniques like try‑with‑resources.

Exception HandlingResource Managementfinal
0 likes · 5 min read
Understanding Java’s final, finally, and finalize: Usage, Pitfalls, and Best Practices
Architect's Tech Stack
Architect's Tech Stack
Dec 24, 2025 · Backend Development

10 Proven Techniques to Supercharge API Performance in Java Applications

This article presents a comprehensive, step‑by‑step guide to optimizing Java‑based API interfaces, covering batch processing, asynchronous execution, caching, pre‑processing, pooling, transaction handling, pagination, SQL tuning, lock granularity, and code restructuring, with practical code examples and diagrams.

API optimizationAsynchronousBatch Processing
0 likes · 10 min read
10 Proven Techniques to Supercharge API Performance in Java Applications
Code Ape Tech Column
Code Ape Tech Column
Dec 24, 2025 · Backend Development

Master Multi-Method Login in Spring Boot with Strategy & Factory Patterns

This guide walks you through designing a scalable login module that supports dozens of authentication methods by combining the Strategy and Factory patterns with Spring Boot, providing clean code, easy extensibility, and robust testing without the tangled if‑else spaghetti.

Design PatternsFactory PatternSpring Boot
0 likes · 12 min read
Master Multi-Method Login in Spring Boot with Strategy & Factory Patterns
Su San Talks Tech
Su San Talks Tech
Dec 24, 2025 · Backend Development

Fixing RabbitMQ Connection Leaks with Thread‑Pool Asynchrony

Facing frequent timeouts in the high‑traffic eLong red‑envelope API, we traced the root cause to a RabbitMQ SDK connection‑leak using Linux netstat, then resolved it by offloading the processing to a single‑threaded pool, eliminating blocking and avoiding the SDK bug.

ConnectionLeakRabbitMQThreadPool
0 likes · 7 min read
Fixing RabbitMQ Connection Leaks with Thread‑Pool Asynchrony
Java Architecture Diary
Java Architecture Diary
Dec 24, 2025 · Backend Development

Why Spring Boot 4 Breaks Your Tests and How to Fix It

Upgrading to Spring Boot 4 can cause missing @WebMvcTest, MockMvc, and other compilation errors because the framework modularizes its large autoconfigure JAR into many smaller starters, requiring updated dependencies and configuration changes to restore test execution and improve startup performance.

Spring Bootjavamigration
0 likes · 10 min read
Why Spring Boot 4 Breaks Your Tests and How to Fix It
Woodpecker Software Testing
Woodpecker Software Testing
Dec 23, 2025 · Information Security

ChatGPT‑Powered Code Review: Securing Front‑End and Back‑End Password Recovery

This article presents a comprehensive ChatGPT‑driven code review of a password‑recovery feature, analyzing twelve front‑end and back‑end files, highlighting structural strengths, security gaps such as CSRF and XSS, and offering concrete refactoring, validation, and resource‑management recommendations.

ChatGPTCode reviewJSP
0 likes · 44 min read
ChatGPT‑Powered Code Review: Securing Front‑End and Back‑End Password Recovery
Su San Talks Tech
Su San Talks Tech
Dec 23, 2025 · Backend Development

How to Crush the One Billion Row Challenge: Java Performance Secrets Revealed

This article walks through the One Billion Row Challenge—parsing a 13 GB file of 1 billion temperature records—by examining the baseline Java solution, analyzing top contestants' results, and detailing a step‑by‑step series of low‑level optimizations (JVM choice, parallel I/O, custom parsing, bespoke hash tables, Unsafe and SWAR techniques) that shrink execution time from minutes to under two seconds.

One Billion Row Challengebenchmarkgraalvm
0 likes · 20 min read
How to Crush the One Billion Row Challenge: Java Performance Secrets Revealed
Architect Chen
Architect Chen
Dec 23, 2025 · Backend Development

How to Reduce Java GC Pauses from 200 ms to 20 ms: A Practical Tuning Guide

This guide explains how to systematically analyze and optimize Java garbage‑collection pauses—cutting typical 200 ms stalls down to around 20 ms—by enabling detailed logs, selecting the right collector, tuning heap and generation settings, minimizing allocation, handling large objects, and balancing GC threads with CPU resources.

JVMLow latencygc
0 likes · 5 min read
How to Reduce Java GC Pauses from 200 ms to 20 ms: A Practical Tuning Guide
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Dec 23, 2025 · Backend Development

Mastering Redis Distributed Locks: From SETNX to RedLock and WatchDog

This article walks through the evolution of Redis distributed locks—from basic SETNX mutual exclusion to atomic SET with expiration, Lua‑based safe unlocking, Redisson's WatchDog auto‑renewal, and the RedLock algorithm—highlighting pitfalls, best‑practice implementations, and interview‑style Q&A for robust production use.

RedlockWatchdogdistributed-lock
0 likes · 15 min read
Mastering Redis Distributed Locks: From SETNX to RedLock and WatchDog
Top Architect
Top Architect
Dec 22, 2025 · Backend Development

Graceful Shutdown of Java Applications: kill Commands, JVM Hooks, and Spring Boot Actuator

This article explains how to perform a graceful shutdown of Java services by using Linux kill signals, configuring JVM SignalHandler and Runtime shutdown hooks, releasing resources such as thread pools and sockets, and exposing a Spring Boot Actuator endpoint for controlled termination, complete with code examples and configuration details.

Graceful ShutdownJVMKill Command
0 likes · 16 min read
Graceful Shutdown of Java Applications: kill Commands, JVM Hooks, and Spring Boot Actuator
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Dec 22, 2025 · Fundamentals

Why Is StringBuilder Faster Than StringBuffer? Understanding Java’s Mutable vs Immutable Strings

This article explains the fundamental differences between Java's String, StringBuilder, and StringBuffer—covering immutability, thread‑safety, internal caching mechanisms, and performance characteristics—while providing concrete code examples that illustrate how each class behaves in single‑threaded and multi‑threaded scenarios.

Stringjavastringbuffer
0 likes · 6 min read
Why Is StringBuilder Faster Than StringBuffer? Understanding Java’s Mutable vs Immutable Strings
macrozheng
macrozheng
Dec 22, 2025 · Backend Development

Why Your Java ThreadPool Threads Aren’t Releasing and How Shutdown Fixes It

The article investigates a Java application that accumulated nearly a thousand waiting threads without high CPU or memory usage, identifies a custom FixedThreadPool as the cause, explains how thread pools become GC roots, and demonstrates that calling shutdown or shutdownNow properly releases both threads and the pool.

ExecutorServiceGarbageCollectionJVM
0 likes · 13 min read
Why Your Java ThreadPool Threads Aren’t Releasing and How Shutdown Fixes It
Architect
Architect
Dec 21, 2025 · Backend Development

Mastering Spring Event Listeners: From Coffee Shop Analogy to High‑Throughput Architecture

This article uses a coffee‑shop analogy to explain Spring event listeners, demonstrates how to define, publish, and handle events, presents three techniques for handling massive traffic, shares real‑world incidents and lessons, compares listeners with MQ, and offers performance‑tuning tips and best‑practice rules.

Event-drivenbest practicesjava
0 likes · 10 min read
Mastering Spring Event Listeners: From Coffee Shop Analogy to High‑Throughput Architecture
IT Services Circle
IT Services Circle
Dec 21, 2025 · Fundamentals

How to Shuffle an Array Uniformly in Java: Fisher‑Yates Solution Explained

The article starts with a brief comment on recent layoffs before diving into the classic interview problem of shuffling an integer array uniformly, explaining why naive random swaps fail, detailing the Fisher‑Yates algorithm, and providing a complete Java implementation with key practical tips.

Array ShuffleFisher-YatesLeetCode
0 likes · 7 min read
How to Shuffle an Array Uniformly in Java: Fisher‑Yates Solution Explained
Top Architect
Top Architect
Dec 21, 2025 · Information Security

Securing API Calls with Hybrid Symmetric‑Asymmetric Encryption and HTTPS Principles

This article presents a comprehensive design for API request and response protection that combines symmetric and asymmetric encryption, HTTPS fundamentals, and WeChat Pay specific cryptographic mechanisms, detailing key exchange, data signing, parameter handling, implementation code, common pitfalls, and a security analysis.

API SecurityHTTPSWeChat Pay
0 likes · 14 min read
Securing API Calls with Hybrid Symmetric‑Asymmetric Encryption and HTTPS Principles
Java Companion
Java Companion
Dec 21, 2025 · Backend Development

Eliminate Messy Login Logic: Unified Multi‑Channel Authentication with Spring Boot Factory & Strategy Patterns

This article demonstrates how to replace tangled if‑else login code with a clean Spring Boot solution that combines the Factory and Strategy patterns, enabling easy addition of multiple authentication methods such as password, WeChat, SMS, and future providers while improving extensibility, readability, and testability.

AuthenticationBackendFactory Pattern
0 likes · 12 min read
Eliminate Messy Login Logic: Unified Multi‑Channel Authentication with Spring Boot Factory & Strategy Patterns
SpringMeng
SpringMeng
Dec 21, 2025 · Backend Development

A Java Packaging Tool That Enables Double‑Click Execution

The author reviews common Java desktop packaging methods—GraalVM, JLink, Exe4J, batch scripts, and plain JAR—detailing their advantages and drawbacks, then demonstrates a custom WinForm‑based packaging utility that bundles a Swing application and a trimmed JRE into a single executable for double‑click launch.

Exe4JJLinkSwing
0 likes · 6 min read
A Java Packaging Tool That Enables Double‑Click Execution
Architect's Guide
Architect's Guide
Dec 21, 2025 · Backend Development

How Spring Solves Circular Dependencies: Inside the Three‑Level Cache

This article provides a detailed walkthrough of Spring's circular‑dependency resolution, explaining the three‑level cache mechanism, step‑by‑step bean creation flow, and the underlying source‑code logic, complete with diagrams and code examples for deep understanding.

Three-level Cacheaopcircular-dependency
0 likes · 12 min read
How Spring Solves Circular Dependencies: Inside the Three‑Level Cache
Ray's Galactic Tech
Ray's Galactic Tech
Dec 20, 2025 · Backend Development

Production-Ready Idempotency for RocketMQ Duplicate Consumption (Full Code)

To reliably handle RocketMQ's at-least-once delivery semantics, this guide explains why duplicate consumption is inevitable, outlines three defensive layers—Redis‑based idempotency, database unique constraints, and state‑machine checks—provides production‑grade Java code, and details ACK/retry strategies and monitoring practices for robust systems.

Duplicate ConsumptionIdempotencyRocketMQ
0 likes · 9 min read
Production-Ready Idempotency for RocketMQ Duplicate Consumption (Full Code)
IT Services Circle
IT Services Circle
Dec 20, 2025 · Backend Development

Lenovo Backend Interview Secrets: Deadlocks, DNS, TLS & Java ArrayList

The article examines Lenovo’s 2023 graduate hiring salaries across cities, roles, and education levels, then shares a recent backend interview experience, detailing questions on deadlocks, networking layers, DNS resolution, TLS handshakes, common data structures, and Java’s ArrayList implementation, offering practical insights and recommendations.

Data Structuresbackend-developmentinterview
0 likes · 19 min read
Lenovo Backend Interview Secrets: Deadlocks, DNS, TLS & Java ArrayList
Top Architect
Top Architect
Dec 20, 2025 · Backend Development

Master Null Checks in Java: When to Use StringUtils, ObjectUtils, and CollectionUtils

This article explains how to replace repetitive null‑checks in Java with the appropriate utility classes—StringUtils for strings, ObjectUtils for objects, arrays, lists and maps, and CollectionUtils for collections—providing step‑by‑step guidance, code examples, and a discussion of each method's limitations.

BestPracticesCollectionUtilsObjectUtils
0 likes · 8 min read
Master Null Checks in Java: When to Use StringUtils, ObjectUtils, and CollectionUtils
Tech Freedom Circle
Tech Freedom Circle
Dec 20, 2025 · Backend Development

How SpringBoot Loads Classes: Deep Dive into ClassLoaders and Bean Creation

This article dissects the SpringBoot class‑loading mechanism, explaining how the JVM parent‑delegation model is selectively overridden with custom class loaders like LaunchedURLClassLoader and RestartClassLoader, and how these changes integrate with Spring's bean lifecycle, auto‑configuration, and practical troubleshooting techniques.

DevToolsSpringBootautoconfiguration
0 likes · 37 min read
How SpringBoot Loads Classes: Deep Dive into ClassLoaders and Bean Creation
JavaGuide
JavaGuide
Dec 19, 2025 · Backend Development

IntelliJ IDEA 2025.3.1: Critical Fixes and the Rollback of Query Console

IntelliJ IDEA 2025.3.1 quickly follows the 2025.3 major release, fixing over 200 issues, reinstating the classic Query Console, addressing WSL‑related Java debugging problems, stabilizing Gradle/Maven sync for large multi‑module projects, improving Spring tooling, Java debugging, Kotlin‑MongoDB support, and correcting terminal and TypeScript bugs.

2025.3.1IntelliJ IDEAQuery Console
0 likes · 6 min read
IntelliJ IDEA 2025.3.1: Critical Fixes and the Rollback of Query Console
Architect
Architect
Dec 18, 2025 · Backend Development

Why Graceful Shutdown Is Essential for Spring Event and How to Avoid Common Pitfalls

This article shares hard‑learned production experience on using Spring Event, explaining why services must shut down gracefully before publishing events, how startup timing can cause event loss, which business scenarios fit the publish‑subscribe model, and practical reliability techniques such as retries and idempotency.

EventPubSubReliability
0 likes · 11 min read
Why Graceful Shutdown Is Essential for Spring Event and How to Avoid Common Pitfalls
Code Ape Tech Column
Code Ape Tech Column
Dec 18, 2025 · Backend Development

How to Co‑exist Multiple DataSources in Spring Without Switching?

This guide explains the concept of multi‑DataSource coexistence, when it is appropriate, step‑by‑step configuration for MySQL and TDengine, transaction manager handling, custom annotations, mapper scanning, differences from dynamic routing, common pitfalls, and best‑practice usage in a Spring‑MyBatis backend.

Multi-DataSourceMyBatisjava
0 likes · 13 min read
How to Co‑exist Multiple DataSources in Spring Without Switching?
Java Companion
Java Companion
Dec 18, 2025 · Backend Development

Building a High‑Performance Sensitive‑Word Filter with SpringBoot and DFA

This article explains why traditional string‑search and regex methods struggle with large keyword sets, introduces the deterministic finite automaton (DFA) approach using a Trie structure for linear‑time matching, provides full Java implementations, and discusses real‑world applications and advanced optimizations such as double‑array Tries, Aho‑Corasick, and sharding with Bloom filters.

DFASensitiveWordFilterSpringBoot
0 likes · 17 min read
Building a High‑Performance Sensitive‑Word Filter with SpringBoot and DFA
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Dec 18, 2025 · Backend Development

Mastering Two-Phase Commit: Theory, XA & JTA in Java

This article explains why local transactions fail in micro‑service architectures, introduces the Two‑Phase Commit (2PC) protocol with its coordinator and participant roles, details each phase with examples, shows how XA and JTA implement 2PC in Java, and discusses its drawbacks and interview‑ready alternatives.

2PCDistributed TransactionsJTA
0 likes · 14 min read
Mastering Two-Phase Commit: Theory, XA & JTA in Java
Xiao Liu Lab
Xiao Liu Lab
Dec 17, 2025 · Cloud Native

Deploy SpringBoot JAR and Legacy WAR with Docker + Nginx in 5 Minutes

This guide shows how to containerize Java SpringBoot JAR or traditional WAR projects with Docker and Nginx, providing a unified, reproducible deployment pipeline that eliminates environment conflicts, simplifies port management, and enables seamless development‑to‑production transitions.

DeploymentDockerDocker Compose
0 likes · 13 min read
Deploy SpringBoot JAR and Legacy WAR with Docker + Nginx in 5 Minutes
Architecture Digest
Architecture Digest
Dec 17, 2025 · Backend Development

Why MyBatis-Flex Beats MyBatis-Plus: Features, Benchmarks, and Quick Start

MyBatis-Flex is a lightweight, high-performance MyBatis enhancement offering flexible CRUD, advanced QueryWrapper, extensive database support, and benchmarked speeds up to ten times faster than MyBatis-Plus, with a step-by-step quick-start guide covering table creation, Maven setup, Spring Boot configuration, entity mapping, and usage examples.

MyBatis-FlexORMbackend-development
0 likes · 9 min read
Why MyBatis-Flex Beats MyBatis-Plus: Features, Benchmarks, and Quick Start
Su San Talks Tech
Su San Talks Tech
Dec 17, 2025 · Fundamentals

What’s New in IntelliJ IDEA 2025.3 Unified Edition? A Feature Deep‑Dive

IntelliJ IDEA 2025.3 merges Ultimate and Community editions into a single installer, unlocks many formerly premium features for free users, adds command completion, full Java 25 support, a new Islands theme, AI enhancements, expanded framework integrations, and a suite of productivity plugins for modern development workflows.

AICommand CompletionIDE
0 likes · 12 min read
What’s New in IntelliJ IDEA 2025.3 Unified Edition? A Feature Deep‑Dive
Top Architect
Top Architect
Dec 17, 2025 · Backend Development

Zero‑Downtime SpringBoot Updates: Share the Same Port Between Old and New Instances

This article explains how to update a SpringBoot application without stopping the service by letting the old and new processes share the same port, detailing the underlying Tomcat and ServletContainerInitializer mechanisms, providing a step‑by‑step implementation and a demo for seamless zero‑downtime deployments.

DeploymentPortSharingServlet
0 likes · 10 min read
Zero‑Downtime SpringBoot Updates: Share the Same Port Between Old and New Instances
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Dec 17, 2025 · Backend Development

When to Share or Isolate Thread Pools? A Deep Dive for Java Backend Architects

This article explains the trade‑offs between using a shared thread pool and creating dedicated pools in Java backend services, outlines scenario‑based decision rules, provides concrete Spring‑Boot configuration examples, and offers advanced dynamic tuning and interview‑style Q&A for reliable concurrency management.

Spring Bootconcurrencyjava
0 likes · 14 min read
When to Share or Isolate Thread Pools? A Deep Dive for Java Backend Architects
Su San Talks Tech
Su San Talks Tech
Dec 17, 2025 · Backend Development

Secure Your Spring Boot Apps: Easy Config and Field Encryption with Jasypt

This guide explains why sensitive configuration and user data must be encrypted in Spring Boot projects, demonstrates how to use Jasypt for property‑level encryption and custom AOP‑based field masking, and dives into the underlying PBE algorithm and source‑code mechanics.

Configuration EncryptionField MaskingJasypt
0 likes · 14 min read
Secure Your Spring Boot Apps: Easy Config and Field Encryption with Jasypt
FunTester
FunTester
Dec 17, 2025 · Backend Development

How Contract Testing with Pact Prevents API Breakages in Microservices

This article explains why traditional unit and integration tests miss cross‑team API mismatches in microservices, introduces contract testing with the Pact framework, shows consumer and provider test implementations, describes using a Pact Broker, and offers production‑grade strategies and best‑practice recommendations.

API compatibilityPactci/cd
0 likes · 10 min read
How Contract Testing with Pact Prevents API Breakages in Microservices
Woodpecker Software Testing
Woodpecker Software Testing
Dec 16, 2025 · Backend Development

Generating Password Recovery Backend Code with ChatGPT

This article walks through building a complete password‑recovery feature for a Java web application, detailing the workflow, database schema, validation logic, JSP integration, controller design, and optional email/SMS notification code generated by ChatGPT.

EmailJSPPassword Recovery
0 likes · 37 min read
Generating Password Recovery Backend Code with ChatGPT
Architecture Digest
Architecture Digest
Dec 16, 2025 · Backend Development

What’s New in IntelliJ IDEA 2025.3? 800+ Fixes and a Unified Release

IntelliJ IDEA 2025.3 introduces a unified distribution, extensive Spring and language support, improved Git integration, terminal and build tool enhancements, better web development handling for large monorepos, and numerous performance optimizations, all while fixing over 800 issues across the IDE.

IDEIntelliJ IDEARelease Notes
0 likes · 6 min read
What’s New in IntelliJ IDEA 2025.3? 800+ Fixes and a Unified Release
macrozheng
macrozheng
Dec 16, 2025 · Backend Development

Master Spring Task: Build, Schedule, and Optimize Timed Jobs in Spring Boot

This guide explains what Spring Task is, walks through three steps to set up scheduled jobs in Spring Boot, demystifies Cron expressions, showcases common use cases, offers advanced configuration tips, warns about pitfalls, and outlines performance‑tuning and future directions for reliable backend scheduling.

SchedulingSpring BootSpring Task
0 likes · 9 min read
Master Spring Task: Build, Schedule, and Optimize Timed Jobs in Spring Boot
JakartaEE China Community
JakartaEE China Community
Dec 16, 2025 · Artificial Intelligence

Build a Retrieval‑Augmented Generation (RAG) System with Langchain4j and Ollama 3

This guide walks through the importance of Retrieval‑Augmented Generation, outlines the core Langchain4j and Ollama 3 components, and provides a complete Java example—including Maven setup, document ingestion, embedding creation, similarity search, prompt construction, and response generation—to demonstrate a functional RAG pipeline.

EmbeddingLLMLangChain4j
0 likes · 9 min read
Build a Retrieval‑Augmented Generation (RAG) System with Langchain4j and Ollama 3
Lobster Programming
Lobster Programming
Dec 15, 2025 · Backend Development

5 Ways to Implement Pagination in MyBatis: From Manual SQL to PageHelper

This article compares five MyBatis pagination techniques—including raw LIMIT SQL, RowBounds, custom window‑function queries, interceptor‑based pagination, and the PageHelper plugin—explaining their principles, code examples, performance trade‑offs, and ideal usage scenarios.

BackendMyBatisRowBounds
0 likes · 6 min read
5 Ways to Implement Pagination in MyBatis: From Manual SQL to PageHelper
IT Services Circle
IT Services Circle
Dec 14, 2025 · Backend Development

What Lenovo Backend Interview Reveals: Salary Insights, Deadlock Basics, DNS, TLS Handshake, and Java ArrayList Deep Dive

This article shares Lenovo's 2026 graduate hiring salary breakdown, explains deadlock conditions and prevention, outlines DNS resolution steps, details the TLS handshake process, and provides an in‑depth guide to Java's ArrayList implementation, performance, and thread‑safety concerns.

ArrayListDNSTLS Handshake
0 likes · 18 min read
What Lenovo Backend Interview Reveals: Salary Insights, Deadlock Basics, DNS, TLS Handshake, and Java ArrayList Deep Dive
IT Services Circle
IT Services Circle
Dec 14, 2025 · Backend Development

Why Do Companies Still Stick to JDK 8 When JDK 25 Is Available?

Despite the release of JDK 25, many enterprises continue using JDK 8 due to compatibility challenges, mature ecosystem, stability, team familiarity, third‑party library support, performance trade‑offs, and cost considerations, making the upgrade decision a complex balance of technical and business factors.

Enterprise DevelopmentJDKVersion Compatibility
0 likes · 17 min read
Why Do Companies Still Stick to JDK 8 When JDK 25 Is Available?
Architect's Tech Stack
Architect's Tech Stack
Dec 14, 2025 · Backend Development

Why Our Custom Snowflake ID Generator Failed and How to Build a Reliable One

A recent production incident revealed duplicate order IDs caused by a home‑grown Snowflake implementation that misused timestamps, IP‑based business IDs, and unconfigured worker/data‑center IDs, leading to collisions; the article analyzes the flaws, shares lessons, and recommends proven libraries and proper ID‑generation strategies.

BackendID generationbest practices
0 likes · 7 min read
Why Our Custom Snowflake ID Generator Failed and How to Build a Reliable One
Dunmao Tech Hub
Dunmao Tech Hub
Dec 14, 2025 · Backend Development

Integrating Netty into Spring Boot for Custom Protocol Support

This guide explains how to embed the Netty framework within a Spring Boot application to handle custom protocols, covering Netty basics, Maven dependencies, server bootstrap configuration, custom decoder implementation, and event handler setup for robust, high‑performance asynchronous communication.

NettySpringBootbackend-development
0 likes · 13 min read
Integrating Netty into Spring Boot for Custom Protocol Support
Java Companion
Java Companion
Dec 14, 2025 · Backend Development

Why Choose WebFlux Over Spring MVC for New Projects?

The article explains how Spring WebFlux replaces the thread‑per‑request blocking model of Spring MVC with an asynchronous, non‑blocking, reactive architecture that uses fewer threads for high‑concurrency I/O workloads, while also outlining its learning curve, ecosystem constraints, and practical decision guidelines for when to adopt it.

BackendNon-blockingSpring MVC
0 likes · 13 min read
Why Choose WebFlux Over Spring MVC for New Projects?
Java Architect Handbook
Java Architect Handbook
Dec 13, 2025 · Backend Development

Evolving Business Operation Logging: From AOP Annotations to Binlog Time Windows

This article examines the need for comprehensive business operation logging in a central system, outlines the benefits of audit, security, monitoring, and analysis, and walks through three progressive solutions—AOP with annotations, AOP with SpEL, and a Binlog‑based time‑window approach—detailing their implementations, trade‑offs, and architectural considerations.

BinlogSpELaop
0 likes · 20 min read
Evolving Business Operation Logging: From AOP Annotations to Binlog Time Windows
Su San Talks Tech
Su San Talks Tech
Dec 13, 2025 · Information Security

How to Use Apache Tika in Spring Boot for Sensitive Data Detection and DLP

This article explains Apache Tika's core features, architecture, and common use cases, then provides a step‑by‑step Spring Boot tutorial that integrates Tika to extract file content, detect personal identifiers with regex, and return results via a REST API for data‑loss‑prevention.

Apache TikaDLPFile Parsing
0 likes · 24 min read
How to Use Apache Tika in Spring Boot for Sensitive Data Detection and DLP
Java One
Java One
Dec 12, 2025 · Backend Development

Understanding Spring Bean Scopes: When Singleton Becomes Prototype

This article explains how Spring manages bean instances, compares singleton and prototype scopes with concrete code examples, and shows why two injected beans may be equal or different depending on the @Scope annotation applied to the component class.

Bean ScopeSingletondependency-injection
0 likes · 3 min read
Understanding Spring Bean Scopes: When Singleton Becomes Prototype
Java Architect Handbook
Java Architect Handbook
Dec 12, 2025 · Backend Development

Master Spring Task: Build, Optimize, and Scale Your Scheduled Jobs

This guide walks you through what Spring Task is, how to enable it in three simple steps, decode cron expressions, explore six real‑world use cases, unlock four advanced features, avoid common pitfalls, and apply performance‑tuning and future‑proofing techniques for robust Java scheduling.

Distributed SchedulingSpring Bootcron
0 likes · 11 min read
Master Spring Task: Build, Optimize, and Scale Your Scheduled Jobs
Huolala Tech
Huolala Tech
Dec 12, 2025 · Backend Development

How Lalamove Migrated 1000+ PHP Services to Java in One Year

Lalamove’s year‑long P2J project transformed over a thousand legacy PHP interfaces into Java, tackling complexity, stability, and efficiency challenges through standardized technical solutions, AI‑assisted code generation, rigorous testing, and disciplined project management, ultimately delivering faster, higher‑quality services.

AI automationBackend EngineeringPHP migration
0 likes · 9 min read
How Lalamove Migrated 1000+ PHP Services to Java in One Year
Tech Freedom Circle
Tech Freedom Circle
Dec 12, 2025 · Backend Development

Why Redisson’s Reentrant Distributed Lock Relies on HINCRBY Increment and Decrement

The article explains how Redisson implements a re‑entrant distributed lock using Redis hash structures and the atomic HINCRBY command to manage client identity, re‑entry counting, concurrency safety, and graceful release, providing a complete technical analysis with code, Lua scripts, and best‑practice guidelines.

HINCRBYLua ScriptReentrant Lock
0 likes · 34 min read
Why Redisson’s Reentrant Distributed Lock Relies on HINCRBY Increment and Decrement
Top Architect
Top Architect
Dec 11, 2025 · Backend Development

Mastering Java Plugin Architecture: From SPI to Spring Factories

This article explains how to implement plugin mechanisms in Java using SPI and Spring Boot's spring.factories, covering benefits, common approaches, detailed code examples, custom configuration loading, and a complete real‑world case study to guide developers in building extensible applications.

SPISpring BootSpring Factories
0 likes · 22 min read
Mastering Java Plugin Architecture: From SPI to Spring Factories
Selected Java Interview Questions
Selected Java Interview Questions
Dec 11, 2025 · Backend Development

Master Maven Multi‑Module Design: Inheritance, Aggregation, and Private Repositories

This guide explains how to split a large Java project into Maven modules, use parent‑project inheritance and aggregation to share configurations, manage dependency versions with dependencyManagement, and configure a private repository for releasing SNAPSHOT and RELEASE artifacts, complete with practical code snippets and step‑by‑step instructions.

BackendInheritanceMulti‑module
0 likes · 11 min read
Master Maven Multi‑Module Design: Inheritance, Aggregation, and Private Repositories
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Dec 11, 2025 · Backend Development

Master Spring Boot 3: Real‑World Config File Tricks and Advanced Use Cases

This guide walks through Spring Boot 3's externalized configuration system, showing how to locate, rename, and override property files, use optional and wildcard locations, import additional resources, handle missing files, and apply profile‑specific settings with concrete command‑line examples and code snippets.

BackendConfig FilesExternalized Configuration
0 likes · 12 min read
Master Spring Boot 3: Real‑World Config File Tricks and Advanced Use Cases
Ray's Galactic Tech
Ray's Galactic Tech
Dec 10, 2025 · Cloud Native

Mastering Java Memory Tuning in Kubernetes: Prevent OOMKilled

Learn how to align Kubernetes pod memory limits with JVM settings using container‑aware parameters, manual calculations, and best‑practice configurations—including MaxRAMPercentage, headroom allocation, metaspace limits, monitoring, and deployment examples—to avoid OOMKilled and ensure stable Java application performance.

ContainerDevOpsJVM
0 likes · 8 min read
Mastering Java Memory Tuning in Kubernetes: Prevent OOMKilled
Selected Java Interview Questions
Selected Java Interview Questions
Dec 10, 2025 · Backend Development

Mastering Generic Tree Construction in Java: A Robust TreeBuilder Utility

This article presents a comprehensive Java TreeBuilder utility that uses generics to construct hierarchical data structures, featuring automatic root detection, cyclic dependency detection, customizable sorting, and search‑tree generation, while providing detailed implementation insights and practical usage examples.

BackendDevelopmentCyclicDependencyGenericUtility
0 likes · 10 min read
Mastering Generic Tree Construction in Java: A Robust TreeBuilder Utility
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Dec 10, 2025 · Backend Development

Mastering Java MethodHandle: From Lookup to Performance Benchmarks

This article provides a comprehensive guide to Java MethodHandle, covering its differences from reflection, step‑by‑step creation (Lookup, MethodType, finding handles, invocation), advanced techniques like binding and dropping arguments, array spreading, and a JMH performance comparison with reflection, all demonstrated in a Spring Boot 3.4.2 environment.

JMHMethodHandleReflection
0 likes · 10 min read
Mastering Java MethodHandle: From Lookup to Performance Benchmarks
Architect
Architect
Dec 9, 2025 · Backend Development

Master Java SPI: Build a Pluggable Authentication System with Maven Multi‑Module

This guide explains Java's Service Provider Interface (SPI), contrasts it with traditional APIs, and walks through creating a multi‑module Maven project that uses SPI, a custom class loader, and external JAR loading to implement a flexible authentication plugin in a Spring Boot application.

SPISpring Bootclassloader
0 likes · 15 min read
Master Java SPI: Build a Pluggable Authentication System with Maven Multi‑Module
WeiLi Technology Team
WeiLi Technology Team
Dec 9, 2025 · Backend Development

Why Upgrade to JDK 21 and Spring Boot 2.7.18? Boost Performance and Future‑Proof Your Apps

Upgrading a company's Java stack from JDK 11 to JDK 21, while staying on Spring Boot 2.7.18, provides long‑term security support, leverages virtual threads, new low‑latency garbage collectors, modern language features like records and pattern‑matching, and avoids costly Jakarta EE namespace migration, with detailed steps for pom changes, MongoDB configuration, code adjustments, and post‑upgrade validation.

JDK21VirtualThreadsjava
0 likes · 16 min read
Why Upgrade to JDK 21 and Spring Boot 2.7.18? Boost Performance and Future‑Proof Your Apps
Su San Talks Tech
Su San Talks Tech
Dec 9, 2025 · Backend Development

Choosing the Right Local Cache: From ConcurrentHashMap to Caffeine

This article explains why local caches are essential in high‑performance services, outlines required cache features, compares four Java‑based local cache implementations (ConcurrentHashMap, Guava Cache, Caffeine, Ehcache), and offers practical solutions for consistency, hit‑rate improvement, and technology selection.

CacheCaffeineEhcache
0 likes · 12 min read
Choosing the Right Local Cache: From ConcurrentHashMap to Caffeine
Lobster Programming
Lobster Programming
Dec 8, 2025 · Backend Development

How Netflix Ribbon Implements Client‑Side Load Balancing in Java

This article explains Netflix's open‑source Ribbon client‑side load balancer, detailing how it intercepts @LoadBalanced RestTemplate calls, resolves service names to IPs using various algorithms, and forwards requests via HttpClient, while highlighting its key features such as in‑process balancing, multiple strategies, fault‑tolerance, and protocol support.

Ribbonclient-side load balancingjava
0 likes · 4 min read
How Netflix Ribbon Implements Client‑Side Load Balancing in Java
Java Architecture Diary
Java Architecture Diary
Dec 8, 2025 · Backend Development

EasyExcel Archived? How FastExcel and Apache Fesod Provide a Modern Java Excel Solution

When Alibaba archived the popular EasyExcel library, developers faced uncertainty about future maintenance, memory usage, and JDK compatibility, prompting the emergence of FastExcel as a drop‑in replacement and the Apache‑incubated Fesod project, which together offer a high‑performance, low‑memory Java Excel processing ecosystem.

Apache FesodExcelFastExcel
0 likes · 10 min read
EasyExcel Archived? How FastExcel and Apache Fesod Provide a Modern Java Excel Solution
Su San Talks Tech
Su San Talks Tech
Dec 8, 2025 · Backend Development

Master OpenFeign: From Basics to Advanced Configurations in Spring Cloud

This comprehensive guide walks through OpenFeign fundamentals, differences from Feign, environment setup, service provider and consumer implementation, various parameter passing techniques, timeout handling, logging, HTTP client replacement, GZIP compression, and Sentinel-based circuit breaking, all illustrated with code snippets and diagrams.

CircuitBreakerMicroservicesOpenFeign
0 likes · 19 min read
Master OpenFeign: From Basics to Advanced Configurations in Spring Cloud
JakartaEE China Community
JakartaEE China Community
Dec 8, 2025 · Fundamentals

Generational ZGC in JDK 21: Design, Performance, and Adoption

Generational ZGC, introduced in JDK 21, applies a weak generational hypothesis to split the heap into young and old regions, improving throughput by ~10%, reducing max pause times by 10‑20%, mitigating allocation stalls, and offering a phased adoption path via JVM flags and diagnostic tools.

Garbage CollectionGenerational ZGCJDK 21
0 likes · 9 min read
Generational ZGC in JDK 21: Design, Performance, and Adoption
Architect
Architect
Dec 7, 2025 · Backend Development

How Spring Breaks Circular Dependencies: A Deep Dive into the 3‑Level Cache

This article explains Spring's circular‑dependency problem, introduces the three‑level cache (singletonObjects, earlySingletonObjects, singletonFactories), walks through the full execution flow with code examples, and clarifies why each cache level and AOP proxy factories are essential for correct bean initialization.

BeanFactoryThree-level Cacheaop
0 likes · 12 min read
How Spring Breaks Circular Dependencies: A Deep Dive into the 3‑Level Cache
Java Tech Enthusiast
Java Tech Enthusiast
Dec 7, 2025 · Backend Development

Spring Boot 4.0 GA: New Features, Performance Boosts, and Migration Guide

Spring Boot 4.0 GA introduces a modern Java baseline, native virtual‑thread support, GraalVM native image integration, streamlined API versioning, a lightweight @HttpExchange client, enhanced security and observability features, and a list of breaking changes, with migration guidance for developers.

BackendCloud NativeSpring Boot
0 likes · 8 min read
Spring Boot 4.0 GA: New Features, Performance Boosts, and Migration Guide
Java Architect Handbook
Java Architect Handbook
Dec 6, 2025 · Backend Development

Mastering Netty: From IO Models to a Real‑Time Chat Service

This article explains Netty’s architecture, compares Java’s BIO/NIO/AIO models, describes its thread models and pipeline, and provides a step‑by‑step guide with code to build a WebSocket‑based real‑time chat server using Spring Boot 3 and JDK 21.

IO ModelNettyReal-time Chat
0 likes · 21 min read
Mastering Netty: From IO Models to a Real‑Time Chat Service
Java Tech Enthusiast
Java Tech Enthusiast
Dec 6, 2025 · Backend Development

How to Visualize Java Servlet Inheritance Using IntelliJ IDEA Diagrams

This guide shows how to use IntelliJ IDEA's diagram feature to display, clean up, and explore the inheritance and interface implementation hierarchy of Java Servlet classes, including filtering unwanted nodes, inspecting members, adjusting visibility, zooming, adding related classes, and jumping to source code.

IDE TipsInheritance DiagramIntelliJ IDEA
0 likes · 6 min read
How to Visualize Java Servlet Inheritance Using IntelliJ IDEA Diagrams
Java Companion
Java Companion
Dec 6, 2025 · Backend Development

Replacing MySQL with Apache Doris in Spring Boot for Real‑Time Analytics

This article demonstrates how to integrate Apache Doris, a high‑performance MPP analytical database, into a Spring Boot application as a drop‑in replacement for MySQL, detailing environment setup, Maven dependencies, configuration, entity mapping, repository, service and controller code, and performance testing that shows Doris’s superior real‑time query speed.

Apache DorisMPP databaseMySQL replacement
0 likes · 15 min read
Replacing MySQL with Apache Doris in Spring Boot for Real‑Time Analytics
Architect
Architect
Dec 5, 2025 · Information Security

How to Secure API Calls with Hybrid Symmetric‑Asymmetric Encryption and HTTPS

This guide explains a comprehensive API encryption scheme that combines symmetric and asymmetric cryptography, HTTPS principles, and WeChat Pay encryption to protect against crawlers, tampering, replay attacks, and ensure data integrity, complete with design rationale, implementation steps, code examples, and security analysis.

WeChat Payasymmetric encryptionencryption
0 likes · 13 min read
How to Secure API Calls with Hybrid Symmetric‑Asymmetric Encryption and HTTPS
Su San Talks Tech
Su San Talks Tech
Dec 5, 2025 · Backend Development

Unlocking Java ThreadPoolExecutor: Deep Dive, Best Practices, and Real‑World Tuning

This article provides a comprehensive exploration of Java's ThreadPoolExecutor, covering why thread pools are essential, how the executor framework is designed, detailed source‑code analysis of core classes, parameter tuning, rejection policies, monitoring techniques, and practical best‑practice recommendations for production systems.

ThreadPoolExecutorbackend-developmentconcurrency
0 likes · 32 min read
Unlocking Java ThreadPoolExecutor: Deep Dive, Best Practices, and Real‑World Tuning
macrozheng
macrozheng
Dec 5, 2025 · Backend Development

Mastering @ConfigurationProperties and @PropertySources in Spring Boot

This article provides a comprehensive guide to using Spring Boot's @ConfigurationProperties and @PropertySources annotations, covering their purpose, usage steps, code examples, and the differences between them for effective configuration management in Java backend applications.

Configuration ManagementConfigurationPropertiesPropertySources
0 likes · 11 min read
Mastering @ConfigurationProperties and @PropertySources in Spring Boot
Selected Java Interview Questions
Selected Java Interview Questions
Dec 4, 2025 · Backend Development

Detect and Resolve Maven Dependency Conflicts in Java Projects

This guide explains how to view the Maven dependency tree using IntelliJ IDEA, the command line, or the Maven Helper plugin, identify conflicting JARs, and resolve them with exclusion rules or dependencyManagement, providing clear examples and step‑by‑step commands for Java backend developers.

IDEAbackend-developmentdependency management
0 likes · 6 min read
Detect and Resolve Maven Dependency Conflicts in Java Projects