Tagged articles
5000 articles
Page 4 of 50
Tech Musings
Tech Musings
Mar 5, 2026 · Cloud Native

Why Default Java GC Settings Kill Performance on Kubernetes (And How to Fix It)

Through a controlled experiment with four Spring Boot service groups on Kubernetes, this article shows that relying on Java’s default GC and heap settings can drastically reduce throughput and increase tail latency, especially under higher load, and demonstrates how explicit GC algorithm and Xms/Xmx tuning restores performance.

JVMKubernetescloud-native
0 likes · 13 min read
Why Default Java GC Settings Kill Performance on Kubernetes (And How to Fix It)
Black & White Path
Black & White Path
Mar 5, 2026 · Information Security

How a Front‑End 0‑Day in a Major OA System Was Discovered and Exploited

The article walks through the discovery of an arbitrary ZIP‑file download vulnerability in a large OA front‑end, detailing how the attacker traced the vulnerable Spring MVC controller, built a PoC using a controllable cookie, achieved directory‑traversal reads, demonstrated a DOS extension, and finally suggested input‑filter mitigations.

0dayOASeeyon
0 likes · 9 min read
How a Front‑End 0‑Day in a Major OA System Was Discovered and Exploited
DeWu Technology
DeWu Technology
Mar 4, 2026 · Backend Development

How the Multiplicative Tree Framework Enables Instant Formula Deployment and Stable High‑Performance Ranking

The article details the design and evolution of the Multiplicative Tree framework—from version 1.0 to 3.0—showing how a DSL‑based, compile‑time‑checked configuration system delivers instant formula deployment, robust stability safeguards, and significant performance gains for multi‑objective ranking models.

DSLalgorithm engineeringc++
0 likes · 18 min read
How the Multiplicative Tree Framework Enables Instant Formula Deployment and Stable High‑Performance Ranking
Selected Java Interview Questions
Selected Java Interview Questions
Mar 3, 2026 · Backend Development

Automate Sensitive Data Encryption in MyBatis with Annotations and Interceptors

This article explains how to replace manual encryption code with a lightweight, annotation‑driven solution that uses a custom MyBatis interceptor to automatically encrypt and decrypt sensitive fields such as phone numbers, emails, and ID cards, improving code readability, maintainability, and security compliance.

InterceptorMyBatisannotation
0 likes · 20 min read
Automate Sensitive Data Encryption in MyBatis with Annotations and Interceptors
java1234
java1234
Mar 3, 2026 · Backend Development

How MyBatis Plugins Execute: Core Interface and Runtime Flow

This article explains MyBatis’s plugin mechanism, detailing the Interceptor interface methods, how plugins form an interceptor chain to wrap core components like Executor, and provides a step‑by‑step example of a logging plugin with code and configuration, illustrating the runtime flow and extension capabilities.

InterceptorMyBatisPersistence
0 likes · 7 min read
How MyBatis Plugins Execute: Core Interface and Runtime Flow
java1234
java1234
Mar 3, 2026 · Backend Development

One‑Line Java Time Tracker: Millisecond Precision and Up to 300% Faster Performance

The article shows how to replace repetitive System.currentTimeMillis() timing code with a concise TimeTracker utility that leverages try‑with‑resources, functional interfaces, and flexible exception handling to achieve millisecond‑level measurement and dramatically improve code readability and performance.

Exception HandlingFunctional InterfacePerformance Monitoring
0 likes · 13 min read
One‑Line Java Time Tracker: Millisecond Precision and Up to 300% Faster Performance
Coder Trainee
Coder Trainee
Mar 3, 2026 · Fundamentals

Common Pitfalls When Using Java List Collections

The article explains three typical traps when working with Java List: Arrays.asList returns a fixed‑size list that throws UnsupportedOperationException on add/remove, iterating and removing elements directly also fails, and converting primitive arrays with Arrays.asList produces an unexpected single‑element list.

Arrays.asListCollectionsList
0 likes · 4 min read
Common Pitfalls When Using Java List Collections
Architect-Kip
Architect-Kip
Mar 2, 2026 · Backend Development

Mastering Java Logging: Framework Choices, Level Rules, and Best Practices

This guide details how to select a Java logging framework, defines a decision tree for when to log, maps log levels (ERROR, WARN, INFO, DEBUG) to concrete scenarios, provides code‑handling principles, outlines prohibited logging patterns, and includes a quick reference for alerting rules.

best practicesjavalog levels
0 likes · 12 min read
Mastering Java Logging: Framework Choices, Level Rules, and Best Practices
SpringMeng
SpringMeng
Mar 2, 2026 · Backend Development

Deep Dive into an Asynchronous Spring Boot + Tesseract OCR Pipeline for Invoice Recognition

This article presents a complete design and implementation of a high‑throughput, asynchronous OCR pipeline built with Spring Boot and Tesseract, covering distributed architecture, thread‑pool tuning, image‑preprocessing, multi‑engine recognition, data extraction strategies, Kubernetes deployment, security compliance, chaos testing, and future AI‑driven enhancements.

AsynchronousGPUKubernetes
0 likes · 10 min read
Deep Dive into an Asynchronous Spring Boot + Tesseract OCR Pipeline for Invoice Recognition
Java Backend Technology
Java Backend Technology
Mar 2, 2026 · Artificial Intelligence

AgentScope Java vs Spring AI: Which Multi‑Agent Framework Wins for Java Developers?

This article introduces AgentScope, Alibaba's open‑source Java multi‑agent framework, compares its design, advantages, and use cases with Spring AI Alibaba, showcases key features such as ReAct reasoning, built‑in RAG and memory, and provides quick‑start code examples and the project repository.

AgentScopeFrameworkMulti-Agent
0 likes · 10 min read
AgentScope Java vs Spring AI: Which Multi‑Agent Framework Wins for Java Developers?
IT Services Circle
IT Services Circle
Mar 1, 2026 · Interview Experience

Li Auto Java Campus Interview Guide: Salary Insights and Core Java Q&A

This article combines Li Auto's 2026 campus recruitment salary data—showing typical offers ranging from 25k to 32k monthly with 14‑16 month packages—and a comprehensive Java interview cheat‑sheet covering inheritance vs interfaces, Map implementations, String handling, ConcurrentHashMap internals, reference types, memory‑leak detection, design patterns, observer pattern, multithreading, Future execution, and deadlock prevention.

ConcurrentHashMapLi Autointerview
0 likes · 27 min read
Li Auto Java Campus Interview Guide: Salary Insights and Core Java Q&A
Selected Java Interview Questions
Selected Java Interview Questions
Mar 1, 2026 · Backend Development

Master Easy Work: Build, Run, and Serialize Java Workflows with Code Examples

Easy Work is a Java workflow engine that offers a simple API and modular components, enabling developers to create, execute, pause, and serialize complex workflows using code, JSON definitions, and rich conditional predicates, with detailed examples covering repeat, sequential, parallel, and conditional flows.

BackendConditionalEasyWork
0 likes · 8 min read
Master Easy Work: Build, Run, and Serialize Java Workflows with Code Examples
Java Tech Enthusiast
Java Tech Enthusiast
Mar 1, 2026 · Backend Development

Master Maven Assembly Plugin: Build Fat JARs, ZIPs, and Custom Distributions

This guide explains how to use Maven's assembly plugin to create executable JARs, ZIP/TAR archives, and custom distribution packages by configuring the plugin in pom.xml, writing assembly descriptors, and running a single Maven command, with multiple real‑world examples and a sample project structure.

Assembly pluginbuildjava
0 likes · 13 min read
Master Maven Assembly Plugin: Build Fat JARs, ZIPs, and Custom Distributions
Java Architect Handbook
Java Architect Handbook
Mar 1, 2026 · Backend Development

When to Use #{} vs ${} in MyBatis? A Deep Dive for Java Interviews

This article explains the interview focus on MyBatis placeholders, detailing the syntax, security implications, performance differences, appropriate scenarios, best‑practice guidelines, common pitfalls, and provides concrete code examples to help candidates master #{} and ${} usage.

MyBatisinterviewjava
0 likes · 9 min read
When to Use #{} vs ${} in MyBatis? A Deep Dive for Java Interviews
java1234
java1234
Mar 1, 2026 · Backend Development

Spring MVC Interceptor vs Filter: Key Differences and Execution Order

This article explains the fundamental differences between Spring MVC interceptors and servlet filters—including definition, scope, configuration, lifecycle, and execution timing—and details their processing order with illustrative code samples and a request flow diagram.

InterceptorServletSpring MVC
0 likes · 8 min read
Spring MVC Interceptor vs Filter: Key Differences and Execution Order
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Mar 1, 2026 · Backend Development

8 Common Java Collection Mistakes That Kill Performance (and How to Fix Them)

This article reveals eight frequent Java collection pitfalls—such as costly ArrayList insertions, inefficient LinkedList access, repeated contains checks, missing initial capacities, unordered HashMaps, modifying collections during streams, misuse of parallelStream, and in‑memory caches—explaining why they degrade performance and providing concrete, code‑driven alternatives.

CollectionsSpring Bootbackend-development
0 likes · 10 min read
8 Common Java Collection Mistakes That Kill Performance (and How to Fix Them)
Java Tech Enthusiast
Java Tech Enthusiast
Feb 28, 2026 · Fundamentals

Efficient Java Solution to Count Digit 1 Occurrences from 1 to n

The article first reflects on the importance of quick reaction and solid fundamentals for new developers, then presents an efficient Java implementation that counts how many times the digit 1 appears in the range 1 to n using a digit‑by‑digit analysis.

Digit Countingalgorithminterview
0 likes · 5 min read
Efficient Java Solution to Count Digit 1 Occurrences from 1 to n
Java Architect Handbook
Java Architect Handbook
Feb 28, 2026 · Backend Development

Prevent Duplicate Submissions and Rate‑Limit APIs with the Guardian Spring Boot Starter

This article introduces Guardian, a lightweight Spring Boot starter that provides anti‑duplicate‑submission protection and request rate limiting, explains how to integrate it via Maven, configure it with annotations or YAML, and details its internal workflow, storage options, concurrency handling, and monitoring capabilities.

Spring BootStarterYAML
0 likes · 17 min read
Prevent Duplicate Submissions and Rate‑Limit APIs with the Guardian Spring Boot Starter
SpringMeng
SpringMeng
Feb 27, 2026 · Backend Development

How to Use IntelliJ IDEA Diagrams to Explore Java Inheritance and Source Code

This guide shows how to leverage IntelliJ IDEA's diagram feature to visualize inheritance and interface relationships of Java classes, prune irrelevant nodes, inspect members, filter visibility, add additional classes, and quickly jump to source code, making code navigation far more efficient.

DiagramsIDE TipsInheritance
0 likes · 5 min read
How to Use IntelliJ IDEA Diagrams to Explore Java Inheritance and Source Code
Java Captain
Java Captain
Feb 27, 2026 · Fundamentals

Long vs BigDecimal for Money: Ten Community Perspectives

A developer asks whether monetary amounts should be stored as Long or BigDecimal, and the article compiles ten varied community suggestions—ranging from using Long, BigDecimal, String, custom types, Protobuf, leadership directives, AI answers, frugal choices, to whimsical ideas—each with brief explanations and illustrative images.

BigDecimalData TypesLong
0 likes · 4 min read
Long vs BigDecimal for Money: Ten Community Perspectives
Selected Java Interview Questions
Selected Java Interview Questions
Feb 26, 2026 · Backend Development

Why Your Snowflake‑Like ID Generator May Duplicate IDs Under High Concurrency

The article analyzes a custom TraceIdGenerator that uses a simple AtomicInteger counter and IP‑based prefix, identifying how its reset logic and CAS competition can cause duplicate IDs in high‑concurrency scenarios, and proposes timestamp checks, larger ranges, retry mechanisms, and true Snowflake implementation as solutions.

AtomicIntegerID generationSnowflake algorithm
0 likes · 11 min read
Why Your Snowflake‑Like ID Generator May Duplicate IDs Under High Concurrency
Coder Trainee
Coder Trainee
Feb 26, 2026 · Backend Development

Understanding the Detailed Usage of @Nullable Annotation

This article explains how the @Nullable annotation can be applied to methods, fields, and parameters in Java, provides concrete code examples for each case, and shows a real‑world usage from Spring's StringUtils utility.

@NullableBackendannotation
0 likes · 4 min read
Understanding the Detailed Usage of @Nullable Annotation
java1234
java1234
Feb 26, 2026 · Databases

Can Redis Cluster Lose Writes? Why and How to Prevent Them

Redis Cluster can lose writes due to asynchronous replication, network partitions, inadequate persistence settings, or unconfirmed client operations, but enabling AOF, configuring replication acknowledgments, using Sentinel or built‑in HA, and adding client retry logic can mitigate these risks, as demonstrated with a Java Jedis example.

AOFJedisRedis Cluster
0 likes · 7 min read
Can Redis Cluster Lose Writes? Why and How to Prevent Them
Architect's Guide
Architect's Guide
Feb 25, 2026 · Backend Development

Convert Word (.docx) to PDF in Spring Boot with docx4j – A Complete Guide

Learn how to seamlessly convert uploaded .docx files to PDF in a Spring Boot application using the pure‑Java docx4j library, covering solution comparison, Maven dependencies, a utility class, controller implementation, and Windows/Linux font‑encoding fixes for reliable, high‑fidelity document rendering.

PDF conversionSpring Bootdocx4j
0 likes · 11 min read
Convert Word (.docx) to PDF in Spring Boot with docx4j – A Complete Guide
Java Architect Handbook
Java Architect Handbook
Feb 24, 2026 · Backend Development

How RocketMQ Guarantees Ordered Message Delivery: Deep Dive and Best Practices

This article explains the interview focus points for RocketMQ ordered messages, details the partition‑ordered model and its two‑step guarantee mechanism, provides in‑depth analysis of producer and consumer processes, includes full Java code examples, and outlines best practices, pitfalls, and common misconceptions.

BackendMessageListenerOrderlyMessageQueueSelector
0 likes · 10 min read
How RocketMQ Guarantees Ordered Message Delivery: Deep Dive and Best Practices
java1234
java1234
Feb 24, 2026 · Backend Development

How to Handle Transactions in RabbitMQ with Java

This article explains RabbitMQ's transaction mechanism, walks through the four-step process of opening, executing, committing, or rolling back a transaction, provides a complete Java example with Maven setup, and discusses performance impacts and when to prefer acknowledgments over transactions.

AcknowledgmentMessagingRabbitMQ
0 likes · 6 min read
How to Handle Transactions in RabbitMQ with Java
Java Companion
Java Companion
Feb 24, 2026 · Backend Development

Spring Boot Online Dependency Vulnerability Scanner: One‑Click Detection of Potential Security Issues

This guide presents a lightweight Spring Boot dependency vulnerability scanner that automatically collects all project JARs, matches them against a CVE database, visualizes risk levels, provides detailed remediation steps and can be integrated into local development, emergency response, and CI/CD pipelines.

CVEDependency ScanningREST API
0 likes · 20 min read
Spring Boot Online Dependency Vulnerability Scanner: One‑Click Detection of Potential Security Issues
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Feb 23, 2026 · Backend Development

8 Essential Null‑Handling Rules for Spring Boot 3 to Prevent NPEs

This article presents eight concrete rules for handling null values in Spring Boot 3 applications, illustrating common pitfalls with code snippets, explaining production‑impact risks, and offering best‑practice solutions such as using empty collections, explicit null checks, proper Optional usage, and consistent API design.

CollectionsNPE preventionSpring Boot
0 likes · 11 min read
8 Essential Null‑Handling Rules for Spring Boot 3 to Prevent NPEs
Full-Stack DevOps & Kubernetes
Full-Stack DevOps & Kubernetes
Feb 22, 2026 · Cloud Native

How to Stabilize Java Services on Kubernetes: A 3‑Year Success Story

This article walks through a real‑world Java service on Kubernetes, detailing the initial confidence, recurring OOM and rollout issues, and a multi‑round remediation that introduced container‑aware JVM settings, refined resource requests, OOM dumps, probes, and metrics, ultimately achieving three years of stable operation with lower resource usage.

Cloud NativeJVMKubernetes
0 likes · 10 min read
How to Stabilize Java Services on Kubernetes: A 3‑Year Success Story
Top Architect
Top Architect
Feb 21, 2026 · Backend Development

Mastering Unified Exception Handling in Spring: Clean Code, Enums, and Assertions

This article explains how to replace repetitive try‑catch blocks in Java Spring applications with a unified exception handling strategy that leverages @ControllerAdvice, custom enums, and assertion utilities, providing clean, maintainable code, internationalized error messages, and consistent response structures for both business and system errors.

BackendEnumsException Handling
0 likes · 21 min read
Mastering Unified Exception Handling in Spring: Clean Code, Enums, and Assertions
Top Architect
Top Architect
Feb 21, 2026 · Backend Development

Boost Your Maven Multi‑Module Setup with a One‑Click Generation Plugin

This article introduces a Maven aggregation Quickstart plugin for IntelliJ IDEA that automates the creation of multi‑module Java projects, explains its core features, provides step‑by‑step installation and usage instructions, shows how to customize templates, and offers troubleshooting tips along with the source repository.

IntelliJMulti‑moduleautomation
0 likes · 11 min read
Boost Your Maven Multi‑Module Setup with a One‑Click Generation Plugin
SpringMeng
SpringMeng
Feb 21, 2026 · Backend Development

How to Elegantly Implement an Online User Count with Redis ZSET

This article explains how to build a real‑time online user counter by identifying users via tokens or browser fingerprints, storing them in a Redis sorted set, and using ZADD, ZRANGEBYSCORE, ZREMRANGEBYSCORE and ZREM commands to add, query, and clean the data.

BackendFingerprintJSOnline Users
0 likes · 7 min read
How to Elegantly Implement an Online User Count with Redis ZSET
Top Architect
Top Architect
Feb 20, 2026 · Backend Development

Why a Workflow Engine Is Essential for Scalable Business Platforms

The article explains how excessive if‑else branching in multi‑business systems harms code maintainability, and demonstrates how a workflow engine combined with a plugin extension mechanism can isolate business logic, simplify testing, and enable flexible execution chains, using the open‑source MemberClub project as a concrete example.

Backend ArchitectureSpringBootjava
0 likes · 11 min read
Why a Workflow Engine Is Essential for Scalable Business Platforms
IT Services Circle
IT Services Circle
Feb 20, 2026 · Fundamentals

Why Java Remains China’s Tech Staple and the Next Languages to Master

Based on JetBrains' 2025 developer ecosystem report, this article reveals why Java still dominates Chinese enterprises, why Python is essential for AI development, how JavaScript fits the full‑stack future, and which AI coding assistants are gaining traction among local developers.

AI toolsChinaJavaScript
0 likes · 6 min read
Why Java Remains China’s Tech Staple and the Next Languages to Master
Coder Trainee
Coder Trainee
Feb 20, 2026 · Backend Development

Why Lombok-generated getters cause JSON fields to become lowercase

The article explains how Lombok’s @Data annotation generates getter and setter methods with a lowercase first letter for camel‑case fields, causing Jackson to serialize JSON property names in all lowercase, and offers three fixes: write methods manually, use @JsonProperty, or rename fields to avoid lower‑upper patterns.

JSONJacksonLombok
0 likes · 4 min read
Why Lombok-generated getters cause JSON fields to become lowercase
Top Architect
Top Architect
Feb 19, 2026 · Backend Development

Implementing HTTP Range (Partial Content) Downloads with SpringBoot

This article explains why large file downloads can fail on unstable networks, how to use HTTP Range headers and status codes for resumable downloads, and provides a complete SpringBoot implementation—including controller, service logic, and range‑parsing code—to enable reliable partial content delivery.

File DownloadHTTPPartial Content
0 likes · 10 min read
Implementing HTTP Range (Partial Content) Downloads with SpringBoot
Top Architect
Top Architect
Feb 18, 2026 · Fundamentals

What’s New in Java 25? 10+ Game‑Changing Features Explained

The article outlines the most impactful Java 25 enhancements—including compact object headers, generational Shenandoah GC, ahead‑of‑time compilation, JFR improvements, security updates, and the removal of 32‑bit support—explaining how each change boosts performance, safety, and observability for developers.

AoTGarbage CollectionJEP
0 likes · 5 min read
What’s New in Java 25? 10+ Game‑Changing Features Explained
Java Tech Enthusiast
Java Tech Enthusiast
Feb 18, 2026 · Backend Development

How Spring Debugger Enables Agent‑Free Remote Debugging of Java Apps

Spring Debugger’s new remote debugging feature lets developers inspect Spring beans, execute SQL, view configuration, and analyze transactions on running applications without using Java agents, leveraging container thread models like Tomcat’s persistent workers, with simple JDWP setup and a few limitations.

IDEjavaremote debugging
0 likes · 11 min read
How Spring Debugger Enables Agent‑Free Remote Debugging of Java Apps
java1234
java1234
Feb 18, 2026 · Fundamentals

A Complete Illustrated Guide to Java Generics: Benefits, Usage, and Common Pitfalls

This article explains why raw collections are unsafe, how Java generics enforce compile‑time type safety, reduce casting, improve code readability, and boost performance, and it walks through generic interfaces, collections, custom generic classes, inheritance rules, diamond syntax, and common restrictions with concrete code examples and diagrams.

CollectionsGenericsType Safety
0 likes · 10 min read
A Complete Illustrated Guide to Java Generics: Benefits, Usage, and Common Pitfalls
Coder Trainee
Coder Trainee
Feb 17, 2026 · Backend Development

Understanding Spring Cache’s @Cacheable Annotation

The article explains how Spring Cache, introduced after Spring 3.1, uses the @Cacheable annotation to declaratively cache method results, detailing each attribute such as cacheNames, key, keyGenerator, and unless, with code examples illustrating key generation and conditional caching.

@CacheableSpring CacheSpring Framework
0 likes · 4 min read
Understanding Spring Cache’s @Cacheable Annotation
Coder Trainee
Coder Trainee
Feb 17, 2026 · Backend Development

How @CachePut Updates Cache in Spring Cache

The article explains that @CachePut serves as a trigger to update or add cache entries in Spring Cache, contrasting its behavior with @Cacheable, detailing execution flow, handling of null results, and the recommendation against using both annotations on the same method.

@CachePut@CacheableBackend
0 likes · 3 min read
How @CachePut Updates Cache in Spring Cache
SpringMeng
SpringMeng
Feb 17, 2026 · Backend Development

Building an MCP Service with Spring Boot 3 and OpenSpec: A Hands‑On Demo

This article walks through the complete development of a minimal Model Context Protocol (MCP) server using Spring Boot 3 and Server‑Sent Events, illustrating how OpenSpec drives the workflow from proposal and task breakdown to design, implementation, testing, and integration with Claude Code.

JSON-RPCMCPOpenSpec
0 likes · 13 min read
Building an MCP Service with Spring Boot 3 and OpenSpec: A Hands‑On Demo
Java Captain
Java Captain
Feb 16, 2026 · Backend Development

Long vs BigDecimal: Choosing the Right Java Type for Money

This article compares ten community‑sourced approaches for representing monetary values in Java, explaining when a simple Long, a precise BigDecimal, a String, custom wrappers, Protobuf tricks, leadership directives, AI assistance, or even minimal integer types are appropriate, and why each choice matters.

BigDecimalData TypesLong
0 likes · 3 min read
Long vs BigDecimal: Choosing the Right Java Type for Money
SpringMeng
SpringMeng
Feb 16, 2026 · Fundamentals

A Complete Illustrated Guide to Java Generics

This article explains why Java generics were introduced, demonstrates how they improve type safety and reduce casting through concrete examples with generic classes, interfaces, collections, custom generic methods, and highlights common pitfalls such as generic arrays and static methods.

CollectionsCustom Generic MethodsGenerics
0 likes · 9 min read
A Complete Illustrated Guide to Java Generics
Top Architect
Top Architect
Feb 15, 2026 · Backend Development

Why Did My Payment Service Lose Data? Uncovering Hidden Transaction Bugs in Spring

A payment service failed to insert orders despite successful payments, showing no errors, occasional lock timeouts, and intermittent success, which was traced to a missing transaction commit that polluted reused connections, causing unrelated business failures until the bug was fixed and preventive measures were added.

Connection Pooldatabasejava
0 likes · 11 min read
Why Did My Payment Service Lose Data? Uncovering Hidden Transaction Bugs in Spring
Java Tech Enthusiast
Java Tech Enthusiast
Feb 15, 2026 · Backend Development

Why Switch from Maven to Gradle? A Hands‑On Migration Guide

This article walks through converting a Maven‑based Java Spring Boot project (mall‑tiny) to Gradle, explains Gradle's key features and plugins, provides step‑by‑step setup with screenshots, shows the full build.gradle file, and compares build times to demonstrate Gradle's speed advantage.

Build ToolGradleSpring Boot
0 likes · 10 min read
Why Switch from Maven to Gradle? A Hands‑On Migration Guide
Selected Java Interview Questions
Selected Java Interview Questions
Feb 14, 2026 · Backend Development

Master Dynamic Table Names in MyBatis‑Plus with a Simple Starter

This article introduces an open‑source MyBatis‑Plus dynamic‑table starter, explains why dynamic table names are needed for large‑scale data, outlines its key features, provides step‑by‑step installation and quick‑start instructions, demonstrates advanced usage, debugging tips, FAQs, and real‑world scenarios.

Dynamic TableSpring BootStarter
0 likes · 9 min read
Master Dynamic Table Names in MyBatis‑Plus with a Simple Starter
Coder Trainee
Coder Trainee
Feb 14, 2026 · Backend Development

Using RedisTemplate to Manage String and Hash Data in Spring

This article demonstrates how to encapsulate common RedisTemplate operations—such as deleting single or multiple keys, setting expiration, checking existence, and performing String and Hash CRUD actions—by providing concrete Java code examples and step‑by‑step method implementations.

CacheHashRedisTemplate
0 likes · 4 min read
Using RedisTemplate to Manage String and Hash Data in Spring
Java Tech Enthusiast
Java Tech Enthusiast
Feb 13, 2026 · Backend Development

How DDD + CQRS Can Turn Chaotic Java Code into Clean, Scalable Architecture

This guide shows how to break down tangled Java services using Domain‑Driven Design and Command‑Query Responsibility Segregation, providing concrete terminology, layered diagrams, code examples, and step‑by‑step migration strategies to improve maintainability, performance, and team communication.

CQRSDDDDomain-Driven Design
0 likes · 14 min read
How DDD + CQRS Can Turn Chaotic Java Code into Clean, Scalable Architecture
IT Services Circle
IT Services Circle
Feb 12, 2026 · Backend Development

Du Xiaoman Java Backend Salary & Interview Secrets Revealed

The article details Du Xiaoman's 2023 campus hiring salaries for Java backend roles, explains the significance of signing bonuses, shares a successful intern story, and provides in‑depth interview preparation covering thread pools, locks, AQS, CAS, SQL optimization, sharding, MVCC, and transaction isolation levels.

Backendconcurrencydatabase
0 likes · 22 min read
Du Xiaoman Java Backend Salary & Interview Secrets Revealed
Top Architect
Top Architect
Feb 12, 2026 · Fundamentals

What’s New in Maven 4? Model Upgrade, Flattened POMs, and Parallel Builds

Maven 4, released at the end of 2025, introduces a 4.1.0 POM model, separates build and consumer POMs to flatten dependencies, adds explicit classpath‑jar and module‑jar artifact types, renames modules to subprojects, and implements a tree‑based lifecycle for true parallel builds, all while remaining backward compatible.

ArtifactPOMParallel
0 likes · 10 min read
What’s New in Maven 4? Model Upgrade, Flattened POMs, and Parallel Builds
Java Architect Handbook
Java Architect Handbook
Feb 11, 2026 · Backend Development

Convert Word (.docx) to PDF in Spring Boot with docx4j

This guide walks you through a fully open‑source, pure‑Java solution for converting uploaded .docx files to PDF in a Spring Boot application, covering library selection, Maven dependencies, a reusable utility class, controller implementation, and handling Chinese font issues on Windows and Linux.

PDF conversionSpring Bootdocx4j
0 likes · 12 min read
Convert Word (.docx) to PDF in Spring Boot with docx4j
Architect's Tech Stack
Architect's Tech Stack
Feb 11, 2026 · Fundamentals

IntelliJ IDEA 2026.1 EAP 3 Finally Sends Deleted Files to the Recycle Bin – What It Means for Developers

JetBrains' IntelliJ IDEA 2026.1 EAP 3 introduces a long‑awaited feature that moves deleted files to the system recycle bin instead of permanently erasing them, while also delivering a host of Spring, Java, Kotlin, editor, AI, platform, and performance improvements aimed at modern remote and AI‑enhanced development workflows.

AIFile RecoveryIDE
0 likes · 5 min read
IntelliJ IDEA 2026.1 EAP 3 Finally Sends Deleted Files to the Recycle Bin – What It Means for Developers
Sohu Smart Platform Tech Team
Sohu Smart Platform Tech Team
Feb 11, 2026 · Backend Development

Why TreeSet Throws ConcurrentModificationException and How to Fix It

An in‑depth look at why Java’s TreeSet can trigger ConcurrentModificationException under high concurrency, exploring the red‑black tree’s non‑atomic operations, thread scheduling nuances, and how various concurrent set implementations—synchronized wrappers, read‑write locks, ConcurrentSkipListSet, CopyOnWriteArraySet, and custom designs—compare in performance and suitability.

CollectionsConcurrentModificationExceptionRedBlackTree
0 likes · 16 min read
Why TreeSet Throws ConcurrentModificationException and How to Fix It
Top Architect
Top Architect
Feb 10, 2026 · Backend Development

Why Process Orchestration Is Essential for Scalable Backend Systems

The article explains how excessive if‑else logic harms maintainability in a business middle‑platform, introduces a flow‑engine and plugin‑extension approach to isolate code and support rapid business expansion, and demonstrates the design with the open‑source MemberClub project, including configuration, node definitions, execution principles and core Java implementation.

Backend Architectureflow enginejava
0 likes · 11 min read
Why Process Orchestration Is Essential for Scalable Backend Systems
Java Tech Enthusiast
Java Tech Enthusiast
Feb 10, 2026 · Backend Development

IntelliJ IDEA 2026.1 EAP 3: Recycle Bin Deletions, AI Boosts, and Git Worktree Support

The 2026.1 EAP 3 release of IntelliJ IDEA introduces several practical updates, including moving deleted files to the system recycle bin, deeper AI assistant integration with Roots and improved commands, automatic SQL dialect detection, enhanced Spring debugging, built‑in Git Worktree support, UI refinements, and numerous bug fixes across Java, Kotlin, Docker, and HTTP client features.

AI AssistantIDEIntelliJ IDEA
0 likes · 9 min read
IntelliJ IDEA 2026.1 EAP 3: Recycle Bin Deletions, AI Boosts, and Git Worktree Support
java1234
java1234
Feb 10, 2026 · Fundamentals

Understanding Java Reflection: Core Concepts, Use Cases, and Trade‑offs

This article explains Java's reflection mechanism, covering its main uses such as dynamic class loading, handling unknown types, accessing private members, and framework development, then walks through basic steps, a complete code example, and discusses its advantages and drawbacks.

Dynamic LoadingReflectionRuntime
0 likes · 6 min read
Understanding Java Reflection: Core Concepts, Use Cases, and Trade‑offs
JakartaEE China Community
JakartaEE China Community
Feb 9, 2026 · Backend Development

Eclipse Foundation Unveils Jakarta EE 11 with Simplified Data Access and Cloud‑Native Enhancements

The Eclipse Foundation announced Jakarta EE 11, highlighting streamlined data access via the new Jakarta Data spec, support for Java 21 including virtual threads, modernized testing tools, deprecation of Managed Beans, and early certification of several enterprise servers, marking a major step toward cloud‑native Java development.

Cloud NativeEnterprise JavaJakarta Data
0 likes · 6 min read
Eclipse Foundation Unveils Jakarta EE 11 with Simplified Data Access and Cloud‑Native Enhancements
Java Tech Enthusiast
Java Tech Enthusiast
Feb 8, 2026 · Fundamentals

Detecting Powers of Two in Java: Bitwise Tricks and Edge Cases

The author shares a workplace frustration about unfair performance metrics, then illustrates how a hidden 1024‑byte boundary bug led to a discussion of the classic “power‑of‑two” problem, providing clear bit‑wise logic, edge‑case handling, and ready‑to‑run Java code for detecting powers of two.

Power of Twoalgorithmbit manipulation
0 likes · 6 min read
Detecting Powers of Two in Java: Bitwise Tricks and Edge Cases
Java Architect Handbook
Java Architect Handbook
Feb 8, 2026 · Backend Development

How to Resolve RocketMQ Message Backlog: Diagnosis, Immediate Fixes, and Long‑Term Prevention

This article breaks down the interview focus points, core solution framework, underlying RocketMQ mechanisms, step‑by‑step remediation actions, common pitfalls, and a concluding strategy for handling message backlog through emergency scaling, consumer optimization, degradation, dead‑letter handling, and proactive capacity planning.

BackendMessage QueueOperations
0 likes · 9 min read
How to Resolve RocketMQ Message Backlog: Diagnosis, Immediate Fixes, and Long‑Term Prevention
Tech Freedom Circle
Tech Freedom Circle
Feb 8, 2026 · Backend Development

JD Interview: Redis Lock Expiration Mid‑Task – How Redisson’s Watchdog Auto‑Renews

The article explains what occurs when a Redis distributed lock expires before a business operation completes, and details how Redisson’s watch‑dog mechanism automatically renews the lock, covering the underlying principles, configuration, code examples, and comparisons with alternative renewal approaches.

BackendWatchdogconcurrency
0 likes · 34 min read
JD Interview: Redis Lock Expiration Mid‑Task – How Redisson’s Watchdog Auto‑Renews
SpringMeng
SpringMeng
Feb 8, 2026 · Backend Development

Why Companies Still Stick with JDK 8 Even Though JDK 25 Is Released

The article analyzes why many enterprises continue using JDK 8 despite newer releases like JDK 25, examining compatibility issues, stability, learning costs, third‑party library support, performance trade‑offs, commercial licensing, and toolchain considerations while offering migration guidance.

CompatibilityJDKLTS
0 likes · 22 min read
Why Companies Still Stick with JDK 8 Even Though JDK 25 Is Released
java1234
java1234
Feb 7, 2026 · Backend Development

Why Service Layer Should Not Return a Result Object in Java

The article explains why returning a generic Result wrapper from a Java service layer breaks responsibility separation, harms reusability, complicates exception handling and testing, and obscures transaction boundaries, advocating for returning pure domain objects instead.

Domain-Driven DesignException HandlingResult Object
0 likes · 13 min read
Why Service Layer Should Not Return a Result Object in Java
Java Architect Handbook
Java Architect Handbook
Feb 7, 2026 · Backend Development

Master AsyncTask Orchestration in Spring Boot with asyncTool

This guide explains how to integrate the asyncTool library into a Spring Boot project, configure custom thread pools, understand core interfaces like IWorker and ICallback, and use the provided Builder API to define serial, parallel, and mixed task flows with detailed code examples and best‑practice cautions.

Spring BootasyncToolbackend-development
0 likes · 13 min read
Master AsyncTask Orchestration in Spring Boot with asyncTool
Java Companion
Java Companion
Feb 7, 2026 · Backend Development

Why Should the Service Layer in Java Not Return a Result Object Directly?

The article explains that returning a Result wrapper from the Service layer mixes business logic with presentation concerns, leading to tighter coupling, reduced reusability, cumbersome error handling, harder testing, poorer DDD alignment, limited interface flexibility, and ambiguous transaction boundaries.

Domain-Driven DesignException HandlingResult Wrapper
0 likes · 11 min read
Why Should the Service Layer in Java Not Return a Result Object Directly?
Coder Trainee
Coder Trainee
Feb 6, 2026 · Mobile Development

Detecting Audio, Video, and Image Content Risks in WeChat Mini Programs

This article walks through using the WeChat Mini Program media‑check API to identify risky audio, video, and image content, outlines three typical scenarios, explains platform rate limits, and provides a complete Java example with step‑by‑step code analysis.

Audio DetectionContent SecurityImage Moderation
0 likes · 4 min read
Detecting Audio, Video, and Image Content Risks in WeChat Mini Programs
Java Backend Technology
Java Backend Technology
Feb 6, 2026 · Backend Development

What Breaking Changes Does Jackson 3 Introduce When Upgrading Spring Boot 4?

Upgrading to Spring Boot 4 brings Jackson 3, which reorganizes packages, replaces ObjectMapper with JsonMapper, changes the default date format to ISO‑8601, and converts checked exceptions to RuntimeException, requiring developers to adapt code, adjust configurations, and understand the design rationale to avoid runtime bugs.

Jackson 3Spring Bootapi-changes
0 likes · 6 min read
What Breaking Changes Does Jackson 3 Introduce When Upgrading Spring Boot 4?
Architecture Digest
Architecture Digest
Feb 5, 2026 · Backend Development

What Surprising Changes Await You When Upgrading to Jackson 3 in Spring Boot 4?

Upgrading to Spring Boot 4 brings Jackson 3, which introduces four major breaking changes—package reorganization, replacement of ObjectMapper with JsonMapper, a shift to ISO‑8601 date serialization, and the removal of checked exceptions—each explained with code examples, migration tips, and the rationale behind the design.

JacksonSpring Bootdependency management
0 likes · 6 min read
What Surprising Changes Await You When Upgrading to Jackson 3 in Spring Boot 4?
Top Architect
Top Architect
Feb 5, 2026 · Backend Development

Boost Java Project Setup with a One‑Click Maven Multi‑Module Generation Plugin

This article explains how a custom IntelliJ IDEA plugin can automate the creation of Maven multi‑module projects, turning a tedious half‑hour manual process into a 30‑second one‑click operation, and provides step‑by‑step installation, usage, customization, and troubleshooting guidance.

IntelliJ IDEAMulti‑modulebuild tools
0 likes · 12 min read
Boost Java Project Setup with a One‑Click Maven Multi‑Module Generation Plugin
Coder Trainee
Coder Trainee
Feb 5, 2026 · Backend Development

How to Retrieve the access_token for a WeChat Mini Program

This article explains why a WeChat Mini Program needs an access_token, describes the token's 7200‑second validity, and provides a step‑by‑step Java implementation that builds the request URL, sends an HTTPS GET, parses the JSON response, and outlines a simple caching strategy.

API authenticationHTTPS GETWeChat Mini Program
0 likes · 3 min read
How to Retrieve the access_token for a WeChat Mini Program