Tagged articles

Java

5000 articles · Page 11 of 50
Coder Trainee
Coder Trainee
Mar 6, 2026 · Mobile Development

How to Retrieve a WeChat Mini Program User’s OpenID

This article walks through the complete process of obtaining a WeChat Mini Program user's OpenID by using wx.login to get a code, calling the updated auth.code2Session API with appid and appsecret, and handling the server‑side Java implementation that extracts the OpenID and session key.

APIJavaMiniProgram
0 likes · 4 min read
How to Retrieve a WeChat Mini Program User’s OpenID
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.

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

0dayJavaOA
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.

Algorithm EngineeringC++DSL
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.

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

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

Functional InterfaceJavaPerformance 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.asListCollectionsJava
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.

JavaLoggingbest practices
0 likes · 12 min read
Mastering Java Logging: Framework Choices, Level Rules, and Best Practices
LuTiao Programming
LuTiao Programming
Mar 2, 2026 · Backend Development

How a Targeted Java Refactor Delivered a 10× Performance Boost

By profiling a three‑year‑old order service and applying six data‑driven optimizations—including log reduction, object‑allocation cuts, HashMap replacement, Java 21 virtual threads, JSON caching, and ZGC tuning—the team achieved a 9.5× throughput increase and a ten‑fold drop in P99 latency.

Eclipse CollectionsGC TuningJava
0 likes · 8 min read
How a Targeted Java Refactor Delivered a 10× Performance Boost
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.

AsynchronousGPUJava
0 likes · 10 min read
Deep Dive into an Asynchronous Spring Boot + Tesseract OCR Pipeline for Invoice Recognition
LuTiao Programming
LuTiao Programming
Mar 1, 2026 · Backend Development

Spring Boot 4 Reduces API Versioning Code from Hundreds to Three Lines

The article explains how Spring Boot 4 introduces a built‑in ApiVersionStrategy that replaces custom interceptors and duplicated controllers with a single configuration property and a version attribute, dramatically cutting API versioning code from hundreds of lines to just three.

JavaSpring BootSpring Boot 4
0 likes · 11 min read
Spring Boot 4 Reduces API Versioning Code from Hundreds to Three Lines
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.

ConcurrentHashMapInterviewJava
0 likes · 27 min read
Li Auto Java Campus Interview Guide: Salary Insights and Core Java Q&A
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 pluginJavaMaven
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.

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

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

Backend DevelopmentCollectionsJava
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.

AlgorithmDigit CountingInterview
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.

JavaRedisSpring Boot
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.

IDE TipsIntelliJ IDEAJava
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 TypesJava
0 likes · 4 min read
Long vs BigDecimal for Money: Ten Community Perspectives
LuTiao Programming
LuTiao Programming
Feb 27, 2026 · Backend Development

Why Java Records Are the Perfect Model for High‑Concurrency Systems

The article explains how Java records, with their built‑in immutability and auto‑generated methods, eliminate mutable state, reduce lock contention, and improve throughput in high‑concurrency architectures, providing concrete code examples and comparisons with traditional mutable beans.

ConcurrencyConcurrentHashMapImmutability
0 likes · 9 min read
Why Java Records Are the Perfect Model for High‑Concurrency Systems
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.

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

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

AOFJavaRedis
0 likes · 7 min read
Can Redis Cluster Lose Writes? Why and How to Prevent Them
LuTiao Programming
LuTiao Programming
Feb 25, 2026 · Backend Development

Beyond DTOs: 5 Advanced Java Record Techniques Most Developers Miss

This article reveals how Java records serve as immutable data‑modeling tools, demonstrating compact constructors for validation, embedding business logic, static factory methods, pattern‑matching integration, and response‑object usage, while also outlining their thread‑safety benefits and scenarios where records are unsuitable.

Compact ConstructorDDDImmutable
0 likes · 8 min read
Beyond DTOs: 5 Advanced Java Record Techniques Most Developers Miss
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.

JavaMavenPDF conversion
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.

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

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

CI/CDCVEDependency Scanning
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.

CollectionsJavaNPE prevention
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.

JVMJavaKubernetes
0 likes · 10 min read
How to Stabilize Java Services on Kubernetes: A 3‑Year Success Story
LuTiao Programming
LuTiao Programming
Feb 22, 2026 · Backend Development

Mastering Spring Boot 4 Declarative HTTP Client: A Complete Practical Guide

This article walks through Spring Boot 4's built‑in HTTP Interface, showing how to replace RestTemplate/WebClient with a type‑safe, annotation‑driven RestClient, covering Maven setup, DTO and interface definitions, configuration, error handling, header injection, timeout control, reactive alternatives, design principles, and a side‑by‑side comparison with the legacy approach.

JavaMicroservicesRestClient
0 likes · 11 min read
Mastering Spring Boot 4 Declarative HTTP Client: A Complete Practical Guide
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.

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

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

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

JavaProcess OrchestrationSpringBoot
0 likes · 11 min read
Why a Workflow Engine Is Essential for Scalable Business Platforms
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.

JacksonJavaLombok
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 DownloadJavaPartial 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.

CollectionsJavacompile-time checking
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.

Backend DevelopmentCacheableJava
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.

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

API designJSON-RPCJava
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.

Backend DevelopmentBigDecimalData Types
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 MethodsJava
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.

DatabaseJavaSpring
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 ToolDependency ManagementGradle
0 likes · 10 min read
Why Switch from Maven to Gradle? A Hands‑On Migration Guide
Ubiquitous Tech
Ubiquitous Tech
Feb 15, 2026 · Backend Development

How to Properly Retrieve HTTP Request Headers in a Spring AI MCP Server

This article explains why the previous custom WebMvcStreamableServerTransportProvider approach is fragile, introduces Spring AI's standard TransportContextExtractor, and provides step‑by‑step code and screenshots showing how to configure the extractor, capture ServerRequest, and read HTTP headers, URL, query parameters, and other request data in an MCP Server.

JavaMCP serverSpring AI
0 likes · 8 min read
How to Properly Retrieve HTTP Request Headers in a Spring AI MCP Server
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 TableJavaSpring Boot
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.

CacheHashJava
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
LuTiao Programming
LuTiao Programming
Feb 12, 2026 · Backend Development

Understanding @Resource in Spring Boot: Why 90% of Developers Misuse It

The article explains the JSR‑250 @Resource annotation in Spring Boot, detailing its name‑first injection logic, differences from @Autowired, common pitfalls with multiple implementations, and proper usage patterns—including explicit name specification and why constructor injection is preferred—providing code examples and interview‑ready explanations.

AutowiredJavaResource
0 likes · 9 min read
Understanding @Resource in Spring Boot: Why 90% of Developers Misuse It
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.

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

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

JavaMavenPDF conversion
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.

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

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

JavaProcess Orchestrationbackend architecture
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 assistantGit worktreeIDE
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 LoadingFrameworksJava
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.

Enterprise JavaJakarta DataJakarta EE
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.

AlgorithmJavaPower of Two
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.

JavaMessage QueueOperations
0 likes · 9 min read
How to Resolve RocketMQ Message Backlog: Diagnosis, Immediate Fixes, and Long‑Term Prevention
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.

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

Design PrinciplesDomain-Driven DesignJava
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.

Backend DevelopmentConcurrencyJava
0 likes · 13 min read
Master AsyncTask Orchestration in Spring Boot with asyncTool