Tagged articles
5000 articles
Page 14 of 50
Tech Freedom Circle
Tech Freedom Circle
Aug 14, 2025 · Backend Development

10 Proven Techniques to Optimize API Latency from 11 s to 170 ms – A Meituan Interview Case

The article presents a step‑by‑step analysis of how to shrink a 11‑second API response to 170 ms by applying batch database writes, Redis pipeline, asynchronous processing, thread‑pool design, local‑memory buffering, MQ integration, and other performance‑tuning patterns, backed by real‑world benchmarks and code samples.

API optimizationAsyncNoSQL
0 likes · 48 min read
10 Proven Techniques to Optimize API Latency from 11 s to 170 ms – A Meituan Interview Case
Selected Java Interview Questions
Selected Java Interview Questions
Aug 14, 2025 · Backend Development

Master Spring MVC Controllers: From @Controller Basics to Advanced Techniques

This guide walks through creating Spring MVC controllers using @Controller, implementing the Controller interface, extending AbstractController, mapping URLs and HTTP methods, handling request parameters, returning ModelAndView, performing redirects, processing forms, uploading files, autowiring services, and adhering to the single‑responsibility principle.

ControllerModelAndViewRequestMapping
0 likes · 14 min read
Master Spring MVC Controllers: From @Controller Basics to Advanced Techniques
JD Cloud Developers
JD Cloud Developers
Aug 13, 2025 · Backend Development

Why Do MySQL PhantomReferences Cause Long GC Pauses and How to Fix Them?

This article analyzes frequent timeout alerts caused by the getUiToken API, investigates JVM garbage‑collection pauses linked to excessive PhantomReference objects from MySQL connections, and presents configuration, code, and scheduling solutions that dramatically reduce GC latency and improve service stability.

ConnectionPoolJVMPhantomReference
0 likes · 12 min read
Why Do MySQL PhantomReferences Cause Long GC Pauses and How to Fix Them?
JD Tech Talk
JD Tech Talk
Aug 13, 2025 · Backend Development

Why MySQL getUiToken Times Out: PhantomReference GC Bottleneck & Fix

The article investigates frequent timeout alerts on the getUiToken API, tracing the issue to excessive PhantomReference objects causing long GC pauses, explains how MySQL’s AbandonedConnectionCleanupThread and default Druid pool settings generate these references, and presents configuration tweaks, JVM flags, and cleanup tasks that reduced GC pause times from 1.25 s to 0.1 s.

DruidPhantomReferencegc
0 likes · 11 min read
Why MySQL getUiToken Times Out: PhantomReference GC Bottleneck & Fix
21CTO
21CTO
Aug 13, 2025 · Artificial Intelligence

Spring AI 1.0.1 Released: Key Features, Enhancements, and Roadmap Highlights

Spring AI 1.0.1 has been officially released, introducing over 150 changes that improve stability, add new AI model provider capabilities, advanced features like vector store enhancements and MCP streaming, and outline upcoming roadmap priorities for developers and enterprises.

AI Frameworkfeaturesjava
0 likes · 3 min read
Spring AI 1.0.1 Released: Key Features, Enhancements, and Roadmap Highlights
Huolala Tech
Huolala Tech
Aug 13, 2025 · Backend Development

Why Do Inherited ThreadLocals Cause Task Failures in XXL‑Job?

An in‑depth analysis reveals that stale parameters stored in InheritableThreadLocal objects during thread‑pool reuse cause XXL‑Job tasks to process incorrect data, and provides debugging steps and best‑practice recommendations to prevent context pollution.

Context propagationInheritableThreadLocalXXL-JOB
0 likes · 10 min read
Why Do Inherited ThreadLocals Cause Task Failures in XXL‑Job?
Java Backend Technology
Java Backend Technology
Aug 13, 2025 · Backend Development

Why Stream.toList() Throws UnsupportedOperationException vs collect(Collectors.toList())

This article explains the key differences between Java's Stream toList() method introduced in JDK 16, which returns an unmodifiable list, and the traditional collect(Collectors.toList()) which yields a mutable ArrayList, illustrating behavior with code examples, performance considerations, and practical usage tips.

CollectionsCollectorsImmutable List
0 likes · 8 min read
Why Stream.toList() Throws UnsupportedOperationException vs collect(Collectors.toList())
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Aug 12, 2025 · Backend Development

Unlock the JVM Method Area: 6 Key Components Every Java Developer Should Know

This article explains the JVM Method Area, its purpose in storing class metadata, constants, static variables and JIT-compiled code, and details its six internal components—including the runtime constant pool, field data, method data, class data, constant data, and compiled code—providing essential knowledge for Java developers and interview preparation.

JVMMemory ManagementMethod Area
0 likes · 3 min read
Unlock the JVM Method Area: 6 Key Components Every Java Developer Should Know
Code Ape Tech Column
Code Ape Tech Column
Aug 12, 2025 · Operations

How to Use Meteor for Real-Time Java App Diagnosis and Performance Tuning

Meteor, built on Alibaba's Arthas, is a non‑intrusive Java diagnostic console that lets developers monitor running applications, locate performance bottlenecks, memory leaks, and thread deadlocks without restarting services, offering a SpringBoot‑based architecture, quick start commands, and features such as class inspection, live code editing, method monitoring, thread management, and dashboards.

ArthasPerformance MonitoringSpringBoot
0 likes · 4 min read
How to Use Meteor for Real-Time Java App Diagnosis and Performance Tuning
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Aug 12, 2025 · Backend Development

Master Dynamic Bean Switching in Spring Boot 3: 10 Real‑World Solutions

This article presents ten complete solutions for dynamically switching implementations of a Spring Boot interface—ranging from simple @Profile usage to advanced AOP and custom annotation techniques—complete with code examples, configuration snippets, and a free PDF ebook of 155 practical cases.

Dynamic Bean Switchingdependency-injectionjava
0 likes · 11 min read
Master Dynamic Bean Switching in Spring Boot 3: 10 Real‑World Solutions
dbaplus Community
dbaplus Community
Aug 11, 2025 · Backend Development

How to Choose and Implement a High‑Performance Local Cache in Java

This article explains why a first‑level local cache is essential for high‑performance services, outlines required cache features, compares four Java implementations (ConcurrentHashMap, Guava, Caffeine, Encache), and provides solutions for consistency, hit‑rate improvement, and technology selection, concluding that Caffeine offers the best performance.

CaffeineEhcacheGuava
0 likes · 11 min read
How to Choose and Implement a High‑Performance Local Cache in Java
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Aug 11, 2025 · Backend Development

Boost Excel Processing in Spring Boot 3 with FastExcel – High‑Performance Read/Write Guide

This article introduces the FastExcel library as a high‑performance alternative to Apache POI for handling massive Excel files in Spring Boot 3, presents benchmark results, and provides detailed code examples for writing, reading, and uploading large spreadsheets with multithreading and memory‑efficient settings.

Apache POI alternativeExcel performanceFastExcel
0 likes · 13 min read
Boost Excel Processing in Spring Boot 3 with FastExcel – High‑Performance Read/Write Guide
FunTester
FunTester
Aug 8, 2025 · Backend Development

How FixrLeak Uses Generative AI to Automatically Fix Java Resource Leaks

FixrLeak combines AST analysis with generative AI to detect and automatically repair Java resource leaks, dramatically reducing manual effort, improving code quality, and demonstrating the transformative potential of AI‑driven solutions in large‑scale software engineering.

ASTcode repairgenerative AI
0 likes · 9 min read
How FixrLeak Uses Generative AI to Automatically Fix Java Resource Leaks
macrozheng
macrozheng
Aug 8, 2025 · Backend Development

Master Java Backend: ThreadLocal, Memory Leaks, Spring Bean Lifecycle & AOP

This guide covers evaluating engineer hourly wages, interview self‑introduction tips, local vs distributed cache choices, ThreadLocal usage, memory‑leak detection with MAT, deadlock troubleshooting, Spring Bean lifecycle, AOP implementation, and Redis‑based distributed locks, plus resources for Spring Boot projects.

ThreadLocalaopcaching
0 likes · 20 min read
Master Java Backend: ThreadLocal, Memory Leaks, Spring Bean Lifecycle & AOP
Code Ape Tech Column
Code Ape Tech Column
Aug 7, 2025 · Backend Development

Replace Cluttered if…else with Java 8 Functional Interfaces

This article shows how to eliminate repetitive if…else statements in Java code by leveraging Java 8 functional interfaces such as Supplier, Consumer, Runnable, and custom interfaces for exception handling, branch processing, and null‑value handling, complete with code examples and diagrams.

BackendFunctional InterfaceLambda
0 likes · 6 min read
Replace Cluttered if…else with Java 8 Functional Interfaces
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Aug 7, 2025 · Backend Development

Mastering Date Formatting in Spring Boot 3: 5 Practical Solutions

This article explains why proper date formatting matters in Spring Boot applications, compares the default Jackson behavior, and presents five concrete approaches—including global configuration, @JsonFormat, custom ObjectMapper, @JsonComponent, and @JsonSerialize—detailing their implementations, advantages, and drawbacks.

Date FormattingJacksonjava
0 likes · 8 min read
Mastering Date Formatting in Spring Boot 3: 5 Practical Solutions
Java Captain
Java Captain
Aug 6, 2025 · Fundamentals

Unlock Java 17: Records, Sealed Classes, Pattern Matching and More

This article explores the major Java 17 language enhancements—including records, sealed classes, pattern matching, text blocks, var, and the new switch expression—showing how they reduce boilerplate, improve readability, and boost performance compared to legacy Java 8 code.

JDK 17RecordSealed Classes
0 likes · 13 min read
Unlock Java 17: Records, Sealed Classes, Pattern Matching and More
Code Ape Tech Column
Code Ape Tech Column
Aug 6, 2025 · Backend Development

Implement Role‑Based Data Permissions in MyBatis‑Plus Using Annotations & Interceptors

This article explains how to enforce data‑access restrictions in MyBatis‑Plus by creating a custom @UserDataPermission annotation, building an InnerInterceptor that rewrites SQL queries, handling role‑based scopes, and integrating the interceptor into the MyBatis‑Plus plugin for both basic and advanced use cases.

Data PermissionInterceptorbackend-development
0 likes · 17 min read
Implement Role‑Based Data Permissions in MyBatis‑Plus Using Annotations & Interceptors
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Aug 6, 2025 · Backend Development

Dynamic Business Rule Validation in Spring Boot 3 Using AOP

This article demonstrates how to decouple business logic from validation in Spring Boot 3 by creating a custom @BusinessValidation annotation, defining rule interfaces, implementing concrete validators, and using an AOP aspect to execute them with configurable fast‑fail and exception handling, complete with code examples and testing.

BackendCustom AnnotationDynamic Validation
0 likes · 9 min read
Dynamic Business Rule Validation in Spring Boot 3 Using AOP
Code Ape Tech Column
Code Ape Tech Column
Aug 5, 2025 · Backend Development

Exploring PowerJob: A Lightweight Distributed Task Scheduler for Java

This article introduces PowerJob, a young yet powerful distributed task scheduling framework, covering its selection reasons, core concepts, high‑availability setup, workflow types, scheduling modes, deployment steps, and detailed code examples for single, broadcast, map, and MapReduce jobs.

Distributed SchedulingMapReducejava
0 likes · 15 min read
Exploring PowerJob: A Lightweight Distributed Task Scheduler for Java
JakartaEE China Community
JakartaEE China Community
Aug 5, 2025 · Operations

How to Monitor Java Virtual Threads Effectively

This article explains the internal mechanics of Java virtual threads, the role of Continuation, pinned threads, and carrier threads, and provides concrete monitoring techniques using JVM flags, JFR events, and framework-specific considerations for Helidon and Quarkus.

ForkJoinPoolHelidonJFR
0 likes · 11 min read
How to Monitor Java Virtual Threads Effectively
ITPUB
ITPUB
Aug 2, 2025 · Backend Development

Which Language Survives a 1GB Memory Limit? Go, Rust, Node, Python, Java Tested

By imposing a strict 1 GB memory cap on identical workloads across Go, Rust, Node.js, Python (Flask/Gunicorn), and Java Spring Boot, this study reveals how each language’s runtime handles memory pressure, detailing survival times, performance quirks, and ultimate failure modes.

GoNode.jsPython
0 likes · 8 min read
Which Language Survives a 1GB Memory Limit? Go, Rust, Node, Python, Java Tested
macrozheng
macrozheng
Aug 1, 2025 · Operations

Mastering Arthas: Fast, Non‑Intrusive Debugging of Java Production Issues

This guide demonstrates how Arthas enables rapid, non‑intrusive diagnosis of Java production problems by addressing common online challenges such as slow interfaces, thread blocking, memory leaks, hot‑fixes, and data inconsistencies, offering concrete commands, code examples, and best‑practice tips for reliable operations.

Arthasjavaperformance
0 likes · 10 min read
Mastering Arthas: Fast, Non‑Intrusive Debugging of Java Production Issues
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Aug 1, 2025 · Backend Development

Master Spring Boot 3: 151 Real‑World Cases on Retry, Concurrency, and HttpClient

This article introduces a continuously updated collection of 151 Spring Boot 3 practical examples, covering built‑in retry mechanisms, concurrency limits, and automatic HTTP client registration, complete with configuration snippets, code samples, and visual illustrations to help developers implement resilient backend services.

BackendHttpClientRetry
0 likes · 9 min read
Master Spring Boot 3: 151 Real‑World Cases on Retry, Concurrency, and HttpClient
Sanyou's Java Diary
Sanyou's Java Diary
Jul 31, 2025 · Databases

How MyBatis Interceptors Can Safeguard Your Java Service from Memory Overruns

This article explains how oversized database query results can cause JVM heap spikes, frequent Full GC, or OOM crashes in Java services, and demonstrates a non‑intrusive MyBatis interceptor solution that monitors, grades, and blocks risky queries while exposing Prometheus metrics for proactive alerting and capacity planning.

InterceptorMyBatisPrometheus
0 likes · 18 min read
How MyBatis Interceptors Can Safeguard Your Java Service from Memory Overruns
macrozheng
macrozheng
Jul 30, 2025 · Backend Development

Unlock Spring Boot: Hidden Default Settings That Can Crash Your App

This article reveals the hidden default configurations of Spring Boot—such as Tomcat connection limits, HikariCP pool sizes, Jackson timezone handling, logging, caching, file upload limits, async thread pools, static resource caching, and transaction timeouts—and provides practical YAML adjustments to prevent performance bottlenecks and production failures.

BackendConfigurationjava
0 likes · 12 min read
Unlock Spring Boot: Hidden Default Settings That Can Crash Your App
macrozheng
macrozheng
Jul 30, 2025 · Backend Development

Why Replacing MyBatis with MyBatis‑Plus Can Break LocalDateTime Handling (and How to Fix It)

A developer upgraded an old Spring Boot project by swapping MyBatis for MyBatis‑Plus, ran into a Conversion not supported for java.time.LocalDateTime error, traced the root cause to MyBatis 3.5.1 delegating type conversion to an outdated mysql‑connector‑java, and resolved it by upgrading the connector and adjusting validation logic, illustrating the ripple effects of component upgrades.

ORMjavamybatis-plus
0 likes · 9 min read
Why Replacing MyBatis with MyBatis‑Plus Can Break LocalDateTime Handling (and How to Fix It)
Lin is Dream
Lin is Dream
Jul 30, 2025 · Backend Development

Master Java NIO: Simplify Large File Read/Write with ByteBuffer in 5 Steps

This article explains the fundamentals of Java NIO, showing how to use Channels and ByteBuffer to efficiently read, write, and manipulate large files, including memory‑mapped files and RandomAccessFile alternatives, with clear code examples and step‑by‑step guidance.

ByteBufferFile I/OFileChannel
0 likes · 18 min read
Master Java NIO: Simplify Large File Read/Write with ByteBuffer in 5 Steps
ITPUB
ITPUB
Jul 29, 2025 · Big Data

How to Deduplicate 4 Billion QQ IDs Using a Bitmap Within 1 GB Memory

Learn how to efficiently remove duplicates from 4 billion QQ numbers using a memory‑friendly Bitmap approach that fits within a 1 GB limit, including calculations, step‑by‑step implementation, Java code, and a discussion of its advantages and drawbacks.

Big DataBitmapData Structures
0 likes · 9 min read
How to Deduplicate 4 Billion QQ IDs Using a Bitmap Within 1 GB Memory
JD Tech Talk
JD Tech Talk
Jul 29, 2025 · Artificial Intelligence

Unlock JD’s Open‑Source JoyAgent: Build, Deploy, and Customize AI Agents

This article introduces JD's open‑source JoyAgent‑JDGenie, a lightweight multi‑agent framework, explains its architecture and performance, and provides step‑by‑step instructions for local Docker deployment, configuration, and usage for creating AI‑driven applications.

AI AgentDockerPython
0 likes · 8 min read
Unlock JD’s Open‑Source JoyAgent: Build, Deploy, and Customize AI Agents
macrozheng
macrozheng
Jul 28, 2025 · Backend Development

Mastering FlowLong: A Lightweight Open‑Source Workflow Engine for Chinese Enterprises

FlowLong is a domestically developed, high‑performance workflow engine that uses JSON‑based process models and a visual designer to simplify complex approval scenarios, integrates seamlessly with Spring Boot and Mybatis‑Plus, provides extensive BPMN features, and includes detailed installation, architecture, and database schema documentation.

BPMJSONjava
0 likes · 15 min read
Mastering FlowLong: A Lightweight Open‑Source Workflow Engine for Chinese Enterprises
Java Architecture Diary
Java Architecture Diary
Jul 28, 2025 · Backend Development

How Spring Framework 7.0 Simplifies Retry and Concurrency with Built‑in Resilience

Spring Framework 7.0 introduces built‑in resilience annotations @Retryable and @ConcurrencyLimit, eliminating the need for external spring‑retry dependencies and enabling declarative retry, exponential backoff, and concurrency throttling—including reactive support—so developers can write cleaner, more robust Java backend services.

ConcurrencyLimitResilienceRetryable
0 likes · 7 min read
How Spring Framework 7.0 Simplifies Retry and Concurrency with Built‑in Resilience
Java Web Project
Java Web Project
Jul 26, 2025 · Backend Development

How a Simple Pagination Change Triggered a P0 Outage and What We Learned

A seemingly trivial pagination update in a Java order service caused a P0 outage, leading to a 73‑minute disruption, 156 user complaints, and an estimated 650,000 CNY GMV loss; the post details the root cause, impact analysis, emergency response, and concrete process improvements to prevent recurrence.

BackendMicroservicesincident management
0 likes · 14 min read
How a Simple Pagination Change Triggered a P0 Outage and What We Learned
Java Web Project
Java Web Project
Jul 25, 2025 · Industry Insights

Why AI Engineers Are Hot While Java Developers Struggle: A Data‑Driven Market Analysis

Based on recent Maimai data, the article analyzes the stark contrast between soaring demand and high salaries for AI talent and the oversupply, declining wages, and hiring difficulties faced by Java programmers, illustrating the causes, real‑world case studies, and actionable strategies for developers to adapt.

AITech Employmentcareer transition
0 likes · 16 min read
Why AI Engineers Are Hot While Java Developers Struggle: A Data‑Driven Market Analysis
Lin is Dream
Lin is Dream
Jul 23, 2025 · Backend Development

Why Maven's Resource Filtering Breaks Binary Certificates and How to Fix It

The article explains how Maven's default resource filtering corrupts binary .p12 certificates during packaging, causing Spring Boot startup failures, and provides a step‑by‑step solution using dual resource configurations and best practices for handling binary files in Java backend projects.

CertificateResource Filteringjava
0 likes · 7 min read
Why Maven's Resource Filtering Breaks Binary Certificates and How to Fix It
Cognitive Technology Team
Cognitive Technology Team
Jul 23, 2025 · Fundamentals

Can You Solve Java IO Tasks in One Line? Discover jd.commons Magic

This article presents a coding challenge that asks Java developers to perform common I/O operations—reading files, streams, URLs, sockets, and more—in a single line of code, and demonstrates how the jd.commons library provides concise fluent APIs to achieve these tasks while reducing boilerplate.

Fluent APIOne-linerio
0 likes · 9 min read
Can You Solve Java IO Tasks in One Line? Discover jd.commons Magic
Top Architect
Top Architect
Jul 22, 2025 · Backend Development

Master Maven: Essential Dependency Management and Build Techniques for Java Projects

This article walks developers through Maven's core concepts, including repository configuration, basic project structure, dependency management, module inheritance, unified dependency versions, and common plugins such as jar, assembly, and shade, while also covering build settings like JDK version, resource exclusion, and main‑class configuration.

backend-developmentbuild toolsdependency management
0 likes · 23 min read
Master Maven: Essential Dependency Management and Build Techniques for Java Projects
macrozheng
macrozheng
Jul 22, 2025 · Fundamentals

Why Java Packages Use Reverse Domain Names – Benefits and Real‑World Example

This article explains Java’s reverse‑domain package naming convention, illustrates it with a Maven project structure, and outlines four key advantages—collision avoidance, global uniqueness, readability, and logical layering—while showing how the open‑source mall‑swarm micro‑service project applies these principles.

MicroservicesPackage Namingjava
0 likes · 6 min read
Why Java Packages Use Reverse Domain Names – Benefits and Real‑World Example
Java Web Project
Java Web Project
Jul 22, 2025 · Backend Development

How I Turned an Open‑Source Java E‑Commerce Kit into a 5‑Figure Side Business in 25 Days

In this detailed case study I describe how I discovered the CRMEB Java e‑commerce project on GitHub, cloned and evaluated its features, customized product, order, and payment modules for a mother‑and‑baby shop, tackled environment setup, performance tuning, and deployment, and ultimately delivered a fully functional marketplace that boosted my freelance income fivefold.

BackendDeploymentcustomization
0 likes · 14 min read
How I Turned an Open‑Source Java E‑Commerce Kit into a 5‑Figure Side Business in 25 Days
JakartaEE China Community
JakartaEE China Community
Jul 22, 2025 · Backend Development

Understanding MicroProfile OpenAPI Specification 3.0

This article explains the MicroProfile OpenAPI 3.0 specification, covering its architecture, configuration options, core properties, annotation usage, server definitions, programming model, model readers, filters, processing rules, endpoint behavior, and release notes for both 3.0 and earlier versions.

API documentationConfigurationJAX-RS
0 likes · 29 min read
Understanding MicroProfile OpenAPI Specification 3.0
Java Architect Essentials
Java Architect Essentials
Jul 21, 2025 · Backend Development

Boost Java Object Creation Speed: 3 Proven Techniques to Cut Overhead

This article explains why using the plain new operator is far faster than reflection, shows how an object pool can dramatically reduce memory usage and allocation time, and demonstrates a factory‑plus‑cache pattern that eliminates most repetitive new calls, delivering up to three‑fold performance gains.

BackendFactory PatternObject Creation
0 likes · 6 min read
Boost Java Object Creation Speed: 3 Proven Techniques to Cut Overhead
Cognitive Technology Team
Cognitive Technology Team
Jul 21, 2025 · Fundamentals

Java Happens‑Before Explained: Volatile, Synchronized & Instruction Reordering

This article explains Java’s happens‑before guarantees, covering instruction reordering, the visibility guarantees of volatile variables and synchronized blocks, and demonstrates how improper reordering can cause stale data or wasted resources through detailed code examples such as FrameExchanger and ValueExchanger.

Instruction Reorderingconcurrencyjava
0 likes · 17 min read
Java Happens‑Before Explained: Volatile, Synchronized & Instruction Reordering
IT Services Circle
IT Services Circle
Jul 21, 2025 · Backend Development

How Spring Uses a Three‑Level Cache to Resolve Circular Dependencies

This article explains Spring's circular dependency problem, distinguishes when such dependencies are harmless, shows why constructor injection can still fail, and details how Spring's three‑level cache with singleton, early‑singleton, and factory caches resolves setter‑based circular dependencies, including code examples and key source snippets.

Three-level Cachecircular-dependencydependency-injection
0 likes · 10 min read
How Spring Uses a Three‑Level Cache to Resolve Circular Dependencies
IT Services Circle
IT Services Circle
Jul 21, 2025 · Backend Development

The Rise and Fall of Java: A 2195 Retrospective

This article chronicles the fictional archaeological discovery of Java, tracing its origins at Sun Microsystems, its golden era in enterprise and Android development, the explosion of design‑pattern culture, its struggle against modern micro‑service trends, and its ultimate decline in the age of AI‑driven coding.

historyjavasoftware evolution
0 likes · 13 min read
The Rise and Fall of Java: A 2195 Retrospective
Su San Talks Tech
Su San Talks Tech
Jul 21, 2025 · Backend Development

How to Hot‑Deploy User‑Provided JARs with Spring and Reflection

This guide explains how to let users upload a JAR that implements a predefined interface, then hot‑deploy the new implementation at runtime using either Spring annotation‑based bean registration or pure Java reflection, complete with utility methods for loading, registering, and cleaning up beans.

Dynamic LoadingHot DeploymentJAR
0 likes · 9 min read
How to Hot‑Deploy User‑Provided JARs with Spring and Reflection
macrozheng
macrozheng
Jul 21, 2025 · Backend Development

Choosing the Right Rule Engine: 5 Popular Options Compared & How to Pick

This guide explores the core pain point of frequent business rule changes versus system stability, introduces five rule engines (Drools, Easy Rules, QLExpress, Aviator, LiteFlow), compares their performance, advantages, disadvantages, and provides practical selection tips and pitfalls to avoid.

AviatorDroolsLiteFlow
0 likes · 11 min read
Choosing the Right Rule Engine: 5 Popular Options Compared & How to Pick
JD Tech Talk
JD Tech Talk
Jul 21, 2025 · Backend Development

Mastering Spring Interceptors: How to Implement, Configure, and Optimize

Learn how Spring interceptors work, their relationship with WebApplicationContext, various types, configuration methods, execution flow, advanced features, and practical examples such as logging and authentication, plus a comparison with servlet filters and demo results.

InterceptorMVCWebApplicationContext
0 likes · 7 min read
Mastering Spring Interceptors: How to Implement, Configure, and Optimize
FunTester
FunTester
Jul 21, 2025 · Information Security

Unlock Hidden Bugs: How Fuzz Testing Strengthens Java Security and Stability

Fuzz testing injects massive amounts of random or semi‑random inputs into applications to expose crashes, logic errors, and security flaws, and the article explains its principles, the types of defects it uncovers, real‑world practices at Google Chrome, and step‑by‑step Java integration using CI Fuzz and JUnit.

CI FuzzDynamic analysisJUnit
0 likes · 7 min read
Unlock Hidden Bugs: How Fuzz Testing Strengthens Java Security and Stability
Java Architecture Diary
Java Architecture Diary
Jul 21, 2025 · Backend Development

What’s New in Spring 7.0? Exploring the Modern JmsClient API

Spring 7.0 introduces JmsClient, a modern, stream‑oriented API for JMS messaging that mirrors the design of JdbcClient and RestClient, offering fluent creation, flexible destination configuration, rich QoS options, and simplified send/receive operations compared to the traditional JmsTemplate.

JMSJmsClientbackend-development
0 likes · 9 min read
What’s New in Spring 7.0? Exploring the Modern JmsClient API
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jul 21, 2025 · Backend Development

Master Dynamic Data Permissions in Spring Boot 3 with Custom Annotations & AOP

This article demonstrates how to implement flexible, decoupled data permission control in Spring Boot 3 by defining a @DataPermission annotation, creating strategy classes for different scopes, wiring them through an AOP aspect, and integrating the solution with JPA entities, MyBatis mappers, and comprehensive test cases.

Custom AnnotationData Permissionaop
0 likes · 13 min read
Master Dynamic Data Permissions in Spring Boot 3 with Custom Annotations & AOP
Cognitive Technology Team
Cognitive Technology Team
Jul 20, 2025 · Fundamentals

When Java volatile Falls Short: Visibility, Happens‑Before, and Performance

This article explains how Java’s volatile keyword ensures variable visibility across threads, details its full visibility and happens‑before guarantees, explores instruction reordering challenges, outlines scenarios where volatile alone is insufficient, and discusses performance considerations and alternative synchronization mechanisms.

Happens-beforejavamemory visibility
0 likes · 14 min read
When Java volatile Falls Short: Visibility, Happens‑Before, and Performance
Cognitive Technology Team
Cognitive Technology Team
Jul 20, 2025 · Fundamentals

Unlock Java’s Memory Model: How Threads See Shared Data

This article explains the Java Memory Model, how the JVM organizes memory into thread stacks and heap, how threads interact with shared variables, the impact of hardware memory architecture, and practical techniques like volatile and synchronized to ensure visibility and avoid race conditions.

Memory ModelSynchronizationThread
0 likes · 14 min read
Unlock Java’s Memory Model: How Threads See Shared Data
Cognitive Technology Team
Cognitive Technology Team
Jul 20, 2025 · Fundamentals

How False Sharing Slows Java Programs and How to Eliminate It

This article explains what false sharing is in Java, how cache lines and cache‑line invalidation cause performance penalties, and provides concrete code examples and @Contended annotation techniques to detect and fix false sharing for faster multithreaded applications.

CacheContendedconcurrency
0 likes · 10 min read
How False Sharing Slows Java Programs and How to Eliminate It
Selected Java Interview Questions
Selected Java Interview Questions
Jul 20, 2025 · Backend Development

9 Ways to Read Resource Files in Spring Boot Applications

This article presents nine practical methods for loading files from the resources directory in a Spring Boot project, covering ClassLoader, Class, Spring ResourceLoader, ResourceUtils, ApplicationContext, ServletContext, Java IO, NIO, and ClassPathResource approaches.

File I/Obackend-developmentclassloader
0 likes · 7 min read
9 Ways to Read Resource Files in Spring Boot Applications
Su San Talks Tech
Su San Talks Tech
Jul 20, 2025 · Backend Development

Build CRUD APIs Instantly with Magic-API in Spring Boot

This tutorial introduces the magic‑api Java framework, shows how to integrate it with Spring Boot, configure data sources, create the necessary MySQL tables, and implement full CRUD operations, parameter validation, result transformation, transaction handling, and Swagger documentation using concise scripts.

API developmentBackendCRUD
0 likes · 10 min read
Build CRUD APIs Instantly with Magic-API in Spring Boot
FunTester
FunTester
Jul 20, 2025 · Backend Development

Which GUID Generation Method Wins? Performance Test of UUID, Snowflake, ThreadLocal & Atomic

An extensive performance benchmark compares four GUID generation techniques—UUID, Snowflake algorithm, ThreadLocal exclusive counters, and atomic counters—across varying thread counts, revealing that ThreadLocal excels in high‑concurrency single‑machine scenarios while Snowflake remains stable for distributed use, with detailed optimization recommendations.

GUIDThreadLocaljava
0 likes · 10 min read
Which GUID Generation Method Wins? Performance Test of UUID, Snowflake, ThreadLocal & Atomic
IT Services Circle
IT Services Circle
Jul 20, 2025 · Fundamentals

Master Student Geographic Aggregation in Java with Nested Maps

This article explains how to solve the Student Geographic Information Report problem by defining a Student class, using three‑level nested Java Maps for province‑city‑district grouping, and implementing aggregation and ranking logic to count students per region and identify the city with the most students.

Geographic InformationMAPStudent Data
0 likes · 6 min read
Master Student Geographic Aggregation in Java with Nested Maps
FunTester
FunTester
Jul 20, 2025 · Backend Development

Which GUID Strategy Is Best for High‑Performance Java Services?

Generating globally unique identifiers (GUIDs) is essential for performance testing and business scenarios such as user behavior tracking, and this article compares five approaches—UUID, centralized services, Snowflake, ThreadLocal, and Atomic classes—detailing their principles, advantages, drawbacks, and suitable use cases for high‑concurrency systems.

GUIDjavaperformance
0 likes · 11 min read
Which GUID Strategy Is Best for High‑Performance Java Services?
Java Architect Essentials
Java Architect Essentials
Jul 19, 2025 · Information Security

Why Spring Security’s Full‑Chain Protection Can Eradicate XSS and SQL Injection

This article explains how a comprehensive, full‑stack security approach using Spring Security—covering request sanitization, parameterized queries, and built‑in authentication, authorization, CSRF and session safeguards—can dramatically reduce XSS and SQL injection vulnerabilities to near zero.

Full-Stack ProtectionSQL injectionWeb Security
0 likes · 13 min read
Why Spring Security’s Full‑Chain Protection Can Eradicate XSS and SQL Injection
Architect
Architect
Jul 18, 2025 · Backend Development

How to Implement Hot Deployment of Custom Java Interfaces with Spring and Reflection

This article explains how to let users upload a JAR containing a custom implementation of a predefined Java interface, then hot‑deploy the new implementation using either Spring annotation‑based injection or pure reflection, covering interface definition, bean registration, and cleanup.

Dynamic LoadingHot DeploymentJAR
0 likes · 8 min read
How to Implement Hot Deployment of Custom Java Interfaces with Spring and Reflection
Architecture Digest
Architecture Digest
Jul 18, 2025 · Fundamentals

Can a Variable Be Both 1 and 12? Exploring Impossible JS & Java Tricks

This article examines a puzzling code condition where a variable appears to satisfy contradictory checks, presents creative JavaScript and Java solutions that exploit language quirks, and reflects on the broader learning value of such unconventional programming challenges.

JavaScriptProgramming Puzzlecode tricks
0 likes · 4 min read
Can a Variable Be Both 1 and 12? Exploring Impossible JS & Java Tricks
Selected Java Interview Questions
Selected Java Interview Questions
Jul 18, 2025 · Backend Development

Master Spring Bean Validation: Quick Start, Custom Constraints, and Advanced Techniques

This article walks through Spring Bean Validation fundamentals, demonstrating how to apply built‑in constraints, create custom validators, use group validation, perform cascading request validation, and enable method‑level checks, all with clear code examples and best‑practice recommendations.

BackendBean ValidationJSR-380
0 likes · 9 min read
Master Spring Bean Validation: Quick Start, Custom Constraints, and Advanced Techniques
DaTaobao Tech
DaTaobao Tech
Jul 18, 2025 · Artificial Intelligence

Build a Minimal Java ReAct Agent in 200 Lines: A Hands‑On Tutorial

This tutorial walks you through constructing a lightweight ReAct agent using Java, explaining the Thought‑Action‑Observation loop, providing a 200‑line code example, and demonstrating a real‑world approval workflow with prompts, tool definitions, and step‑by‑step interaction logs.

AgentLLMPrompt Engineering
0 likes · 21 min read
Build a Minimal Java ReAct Agent in 200 Lines: A Hands‑On Tutorial
macrozheng
macrozheng
Jul 18, 2025 · Backend Development

Boost Java Code Quality: Guide to Alibaba Guidelines, CheckStyle, PMD, FindBugs & SonarLint

This article explains why code quality matters in growing Java projects and introduces five essential static analysis tools—Alibaba Java Coding Guidelines, CheckStyle, PMD, FindBugs, and SonarLint—covering their purpose, installation steps, usage instructions, and key features to help developers reduce bugs and improve review efficiency.

IDE pluginscode qualityfindbugs
0 likes · 14 min read
Boost Java Code Quality: Guide to Alibaba Guidelines, CheckStyle, PMD, FindBugs & SonarLint
Code Ape Tech Column
Code Ape Tech Column
Jul 18, 2025 · Backend Development

Building a Flexible Java Rule Engine: Design, Code, and Tips

This article walks through the design and implementation of a Java rule engine, illustrating how to abstract rules, create a reusable executor with AND/OR logic, and demonstrates the full code, while discussing its advantages, drawbacks, and practical usage in real‑world applications.

Code RefactoringDesign Patternsbackend-development
0 likes · 7 min read
Building a Flexible Java Rule Engine: Design, Code, and Tips
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jul 18, 2025 · Backend Development

How to Process Excel Files with Spring Batch in Spring Boot 3

This tutorial demonstrates how to use Spring Batch in Spring Boot 3 to read Excel files with PoiItemReader, map rows to Java objects, process and write data, and optimize memory usage by switching to StreamingXlsxItemReader for large datasets, complete with full code examples and configuration details.

ExcelPOISpring Batch
0 likes · 10 min read
How to Process Excel Files with Spring Batch in Spring Boot 3
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jul 18, 2025 · Backend Development

How to Enable OpenID Connect in Spring Boot 3: Full Configuration Guide

This guide walks you through configuring Spring Boot 3 with Spring Security OAuth2 Authorization Server to enable OpenID Connect, covering bean setup, client registration, token retrieval, user info customization, and accessing the OpenID configuration endpoint, complete with code examples and essential notes.

Authorization ServerBackendOAuth2
0 likes · 7 min read
How to Enable OpenID Connect in Spring Boot 3: Full Configuration Guide
Top Architect
Top Architect
Jul 17, 2025 · Backend Development

Master Spring Task: Turn Your App into a Personal Scheduler

This guide explains what Spring Task is, shows how to add the dependency, enable scheduling annotations, write cron‑based methods, and covers common use cases, pitfalls, and performance tricks for building reliable backend scheduled jobs in Java.

SchedulingTaskSchedulercron
0 likes · 11 min read
Master Spring Task: Turn Your App into a Personal Scheduler
Selected Java Interview Questions
Selected Java Interview Questions
Jul 17, 2025 · Backend Development

How to Fix Spring Static Injection NPE: Real-World Demo & Solutions

This article explains why static fields injected with @Autowired in Spring can become null, causing NPEs in production, and presents six practical solutions—including removing static fields, using @PostConstruct, static setters, ApplicationContext, singleton patterns, and @Lazy loading—to ensure reliable static dependency injection.

Static Injectiondependency-injectionjava
0 likes · 9 min read
How to Fix Spring Static Injection NPE: Real-World Demo & Solutions
Lin is Dream
Lin is Dream
Jul 17, 2025 · Backend Development

Mastering Reactor Error Handling: 5 Essential Operators in Spring WebFlux

This article introduces the five most common Reactor error‑handling operators—onErrorReturn, onErrorResume, doOnError, retry, and blockOptional—explains their distinct behaviors, appropriate scenarios, and common pitfalls, and provides concise code examples for each within Spring WebFlux.

Error HandlingReactorjava
0 likes · 6 min read
Mastering Reactor Error Handling: 5 Essential Operators in Spring WebFlux
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jul 17, 2025 · Backend Development

Unlock 10 Powerful Spring Boot 3 Starters: Real‑World Cases & Code

This article introduces ten practical Spring Boot 3 starter libraries—ShedLock, p6spy, Logbook, Jasypt, Bucket4j, gRPC, Retrofit, MapStruct‑Plus, Redisson, and Resilience4j—detailing their purpose, Maven coordinates, configuration snippets, core usage code, and links to official documentation, helping developers quickly enhance performance, security, and reliability in backend projects.

MicroservicesStartersjava
0 likes · 17 min read
Unlock 10 Powerful Spring Boot 3 Starters: Real‑World Cases & Code
Java Architect Essentials
Java Architect Essentials
Jul 16, 2025 · Backend Development

Master Spring Boot Auto‑Configuration: 4 Layers Every Developer Should Know

This article demystifies Spring Boot's auto‑configuration by breaking it into four layers—annotation composition, loading engine, conditional assembly, and property binding—providing clear explanations, code examples, and common pitfalls to help developers ace interview questions and master backend development.

Conditionalannotationsauto-configuration
0 likes · 6 min read
Master Spring Boot Auto‑Configuration: 4 Layers Every Developer Should Know
Architect
Architect
Jul 16, 2025 · Backend Development

Mastering Spring Transaction Hooks: Async Kafka Logging After Commit

This article explains how to use Spring's TransactionSynchronizationManager to detect active transactions and reliably send Kafka messages either immediately or after transaction commit, illustrated with a payment‑system use case and complete code examples.

AsyncKafkajava
0 likes · 10 min read
Mastering Spring Transaction Hooks: Async Kafka Logging After Commit
Architecture Digest
Architecture Digest
Jul 16, 2025 · Backend Development

Which Java Low‑Code Admin Framework Wins? JeecgBoot vs RuoYi vs Renren‑fast

An in‑depth comparison of three popular Java low‑code admin frameworks—JeecgBoot, RuoYi, and Renren‑fast—covers their advantages, drawbacks, feature richness, learning curve, typical use cases, and provides clear recommendations on which platform best fits enterprise, medium‑scale, or lightweight projects.

ComparisonFrameworkOpenSource
0 likes · 6 min read
Which Java Low‑Code Admin Framework Wins? JeecgBoot vs RuoYi vs Renren‑fast
Code Ape Tech Column
Code Ape Tech Column
Jul 16, 2025 · Backend Development

7 Proven Spring Boot Performance Optimizations for Faster Apps

This article presents seven practical Spring Boot performance tuning techniques—including asynchronous execution, Tomcat connection tuning, component scanning, switching to Undertow, BufferedWriter usage, DeferredResult handling, and AsyncHandlerInterceptor interception—each illustrated with concise Java code examples to help developers boost application speed and scalability.

AsynchronousTomcatjava
0 likes · 9 min read
7 Proven Spring Boot Performance Optimizations for Faster Apps
Java Captain
Java Captain
Jul 16, 2025 · Backend Development

Ensuring Transaction Rollback in Multi‑Threaded Spring Batch Inserts

This article explains why the @Transactional annotation fails in multithreaded Spring batch insert scenarios, demonstrates the problem with code examples, and shows how to use SqlSession for manual commit and rollback to guarantee atomicity across all threads.

MyBatisThreadPooldatabase
0 likes · 10 min read
Ensuring Transaction Rollback in Multi‑Threaded Spring Batch Inserts
Lin is Dream
Lin is Dream
Jul 16, 2025 · Backend Development

Boost Your Java Backend with Spring WebFlux: Real‑World Mono Patterns for High Concurrency

This article, part of an async‑programming series, explains how Spring WebFlux’s non‑blocking Mono model can replace traditional Spring MVC blocking calls, presents common business scenarios, provides ready‑to‑use code templates, and demonstrates the performance benefits of reactive programming for high‑throughput Java backends.

Asynchronousjavamono
0 likes · 9 min read
Boost Your Java Backend with Spring WebFlux: Real‑World Mono Patterns for High Concurrency
Tech Freedom Circle
Tech Freedom Circle
Jul 16, 2025 · Interview Experience

How to Use and Optimize State Machines in Java for Interview Success

This article explains the concept of state machines, why traditional if‑else logic is problematic, compares popular Java state‑machine frameworks, provides performance benchmarks, walks through a complete Spring Statemachine implementation for order processing, and offers practical optimization and monitoring tips for high‑throughput scenarios.

interviewjavaoptimization
0 likes · 30 min read
How to Use and Optimize State Machines in Java for Interview Success