Tagged articles

Java

5000 articles · Page 22 of 50
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.

AOPCustom AnnotationDynamic Validation
0 likes · 9 min read
Dynamic Business Rule Validation in Spring Boot 3 Using AOP
Ubiquitous Tech
Ubiquitous Tech
Aug 5, 2025 · Information Security

How SmartAdmin Implements Level‑3 Security Protection

This article explains how the open‑source SmartAdmin project satisfies China’s Level‑3 security protection requirements by detailing identity verification, access control, audit, intrusion prevention, data integrity, confidentiality, backup, and masking, and shows the corresponding UI settings and backend code implementations.

Access ControlIdentity verificationJava
0 likes · 19 min read
How SmartAdmin Implements Level‑3 Security Protection
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.

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

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

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

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

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

JavaMySQLORM
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 AgentDockerJava
0 likes · 8 min read
Unlock JD’s Open‑Source JoyAgent: Build, Deploy, and Customize AI Agents
Programmer XiaoFu
Programmer XiaoFu
Jul 29, 2025 · Backend Development

How to Gracefully Implement Consistent Compensation Across Multiple Systems

The article examines the challenges of achieving distributed consistency when a business operation writes to MySQL and external systems, analyzes failure scenarios, and presents a step‑by‑step solution that splits the large transaction into small, retryable tasks with Spring afterCommit optimization.

BPMJavaMySQL
0 likes · 9 min read
How to Gracefully Implement Consistent Compensation Across Multiple Systems
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.

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

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

JavaMicroservicesPagination
0 likes · 14 min read
How a Simple Pagination Change Triggered a P0 Outage and What We Learned
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.

JavaMavenResource Filtering
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 APIIOJava
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.

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

E‑commerceJavaOpen Source
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.

Factory PatternJavaObject 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.

ConcurrencyJavainstruction reordering
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.

Circular DependencyJavaSpring
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.

Javahistorysoftware 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 DeploymentJava
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.

AviatorDroolsEasy Rules
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.

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

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

AOPCustom AnnotationData Permission
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-BeforeJavaVolatile
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.

ConcurrencyJavaMemory Model
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.

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

Backend DevelopmentClassLoaderFile I/O
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.

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

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

AlgorithmGeographic InformationJava
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 ProtectionJavaSQL injection
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 DeploymentJava
0 likes · 8 min read
How to Implement Hot Deployment of Custom Java Interfaces with Spring and Reflection
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.

Bean ValidationJSR-380Java
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.

AgentJavaLLM
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 pluginsJavaStatic Analysis
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.

Backend DevelopmentCode RefactoringDesign Patterns
0 likes · 7 min read
Building a Flexible Java Rule Engine: Design, Code, and Tips
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.

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

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

JavaReactive ProgrammingReactor
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.

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

@ConditionalBackend DevelopmentJava
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.

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

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

AsynchronousJavaPerformance Optimization
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.

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

AsynchronousJavaSpring WebFlux
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
Java Architect Essentials
Java Architect Essentials
Jul 15, 2025 · Fundamentals

Avoid Constructor Pitfalls and Cut Code in Half with Builder Pattern

This article explains common constructor mistakes such as starting threads, calling overridable methods, and using too many parameters, demonstrates how the Builder pattern and default-value constructors can dramatically reduce boilerplate, improve readability and performance, and offers practical guidelines for safe constructor design.

Builder PatternCode RefactoringJava
0 likes · 6 min read
Avoid Constructor Pitfalls and Cut Code in Half with Builder Pattern
Selected Java Interview Questions
Selected Java Interview Questions
Jul 15, 2025 · Backend Development

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

MyBatis-Flex is a lightweight, high‑performance MyBatis enhancement framework that offers flexible CRUD, powerful query capabilities, extensive database support, and significant speed advantages over MyBatis‑Plus, with detailed feature comparisons, performance benchmarks, and a step‑by‑step quick‑start guide.

DatabaseJavaMyBatis-Flex
0 likes · 9 min read
Why MyBatis-Flex Outperforms MyBatis-Plus: Features, Benchmarks, and Quick Start
Su San Talks Tech
Su San Talks Tech
Jul 15, 2025 · Information Security

Master the 7 Most Essential Encryption Algorithms for Secure Systems

Explore the seven most commonly used encryption algorithms—including MD5, SHA families, HMAC, AES, DES/3DES, RSA, and DSA—detailing their principles, Java implementations, performance, and practical security guidelines, while highlighting real-world attack scenarios and best‑practice recommendations for robust information protection.

EncryptionHashingJava
0 likes · 9 min read
Master the 7 Most Essential Encryption Algorithms for Secure Systems
Architect's Tech Stack
Architect's Tech Stack
Jul 15, 2025 · Backend Development

Mastering Graceful Shutdown in Spring Boot 2.3: A Complete Guide

This article explains Spring Boot 2.3's built‑in graceful shutdown feature, how to enable it with server.shutdown=graceful, configure timeout‑per‑shutdown‑phase, compare container behaviors, use the Actuator /shutdown endpoint, and provides code examples and practical steps to avoid data loss during termination.

ActuatorJavaSpring Boot
0 likes · 6 min read
Mastering Graceful Shutdown in Spring Boot 2.3: A Complete Guide
Tech Freedom Circle
Tech Freedom Circle
Jul 15, 2025 · Databases

One‑Order Four‑Split: Solving MySQL Deadlocks in Million‑Row Imports

During massive daily imports of up to one million reconciliation records, MySQL deadlocks can cripple performance; this article dissects the four classic deadlock conditions, then presents a systematic “One‑Order Four‑Split” strategy—ordered writes, transaction splitting, index management, partitioning, and gap‑lock removal—backed by benchmarks, code samples, and configuration tweaks that cut lock rates by up to 90% and reduce batch times to under ten minutes.

Batch InsertDeadlockJava
0 likes · 27 min read
One‑Order Four‑Split: Solving MySQL Deadlocks in Million‑Row Imports
Lin is Dream
Lin is Dream
Jul 15, 2025 · Backend Development

Stream Real‑Time File Import Progress with Spring WebFlux and SSE

This article shows how to replace inefficient front‑end polling with a Spring WebFlux server‑sent events (SSE) solution that pushes file‑import progress to the browser in real time, providing complete code for the progress service, import logic, controller, and a vanilla‑JS front‑end example, plus deployment tips.

File ImportJavaReactive Programming
0 likes · 9 min read
Stream Real‑Time File Import Progress with Spring WebFlux and SSE
FunTester
FunTester
Jul 15, 2025 · Backend Development

How to Use JMH for Precise Java Microbenchmarking and Performance Optimization

This article explains microbenchmarking concepts, demonstrates how to use the Java Microbenchmark Harness (JMH) to accurately measure and compare the performance of specific code snippets such as synchronized methods, and provides practical guidance for integrating JMH into Java projects for reliable performance testing and regression analysis.

ConcurrencyJMHJava
0 likes · 11 min read
How to Use JMH for Precise Java Microbenchmarking and Performance Optimization
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jul 15, 2025 · Backend Development

9 Proven Ways to Speed Up Spring Boot 3 Startup Time

This article explains nine practical techniques—including narrowing component scans, enabling lazy initialization, excluding unused auto‑configurations, using a component indexer, tuning the database pool, avoiding heavy bean init tasks, leveraging CDS, running exploded jars, and employing GraalVM native images—to dramatically reduce Spring Boot 3 application startup time.

JavaPerformance TuningSpring Boot
0 likes · 11 min read
9 Proven Ways to Speed Up Spring Boot 3 Startup Time
macrozheng
macrozheng
Jul 14, 2025 · Backend Development

Master Domain-Driven Design: From Theory to a Real SpringBoot Project

This article explains the fundamentals of Domain-Driven Design, compares it with traditional MVC, details DDD’s layered architecture, core concepts such as entities, value objects, aggregates, services and events, and walks through a complete SpringBoot demo project with code, directory layout, database schema and deployment steps.

DDDDomain-Driven DesignJava
0 likes · 29 min read
Master Domain-Driven Design: From Theory to a Real SpringBoot Project
macrozheng
macrozheng
Jul 14, 2025 · Backend Development

Master Spring Batch: Core Concepts, Architecture, and Best Practices

This article provides a comprehensive guide to Spring Batch, covering its purpose, architecture, core components such as Job, Step, ItemReader/Writer/Processor, chunk processing, skip strategies, and practical tips for configuring and optimizing batch jobs in Java applications.

Batch ProcessingChunkJava
0 likes · 21 min read
Master Spring Batch: Core Concepts, Architecture, and Best Practices
Programmer Null's Self-Cultivation
Programmer Null's Self-Cultivation
Jul 13, 2025 · Backend Development

Unlocking the Secrets of Java’s ConcurrentHashMap: From JDK 7 to JDK 8

This article provides a comprehensive, step‑by‑step analysis of Java's ConcurrentHashMap, covering its evolution from JDK 7’s segment‑lock design to JDK 8’s bucket‑level CAS and synchronized approach, complete with macro diagrams, microscopic source‑code walkthroughs, hash calculations, resizing mechanisms, and practical usage tips.

ConcurrencyConcurrentHashMapHashMap
0 likes · 16 min read
Unlocking the Secrets of Java’s ConcurrentHashMap: From JDK 7 to JDK 8
Java Tech Enthusiast
Java Tech Enthusiast
Jul 13, 2025 · Artificial Intelligence

Build a Java SpringBoot 3.x License Plate Recognition System with OCR

This article walks through creating a server‑side license‑plate recognition solution using Java SpringBoot 3.x, Tesseract OCR, and OpenCV, covering project goals, Maven dependencies, image‑processing services, special‑plate handling, and a REST API for real‑time plate detection.

JavaOCROpenCV
0 likes · 8 min read
Build a Java SpringBoot 3.x License Plate Recognition System with OCR
Architect's Guide
Architect's Guide
Jul 13, 2025 · Backend Development

Static vs Dynamic Proxy in Java: When and How to Use Each

This article explains the differences between static and dynamic proxies in Java, demonstrates how to implement static proxies, JDK dynamic proxies, and CGLib proxies with complete code examples, and compares their advantages, limitations, and typical use cases in backend development.

Backend DevelopmentCGLIBDynamic Proxy
0 likes · 9 min read
Static vs Dynamic Proxy in Java: When and How to Use Each
Top Architect
Top Architect
Jul 12, 2025 · Cloud Native

How Nacos Implements Long‑Polling for Dynamic Config Updates

This article explains Nacos Config Center's long‑polling mechanism, detailing both client‑side scheduling and server‑side handling, with code walkthroughs, architecture diagrams, and the flow of configuration change detection and notification.

Javaconfiguration managementlong polling
0 likes · 18 min read
How Nacos Implements Long‑Polling for Dynamic Config Updates
Code Ape Tech Column
Code Ape Tech Column
Jul 12, 2025 · Backend Development

Mastering OKHttpUtil: Simplify Java HTTP Requests with Ready‑to‑Use Code

This article introduces the lightweight OKHttpUtil wrapper for Java and Kotlin, outlines its key features such as automatic protocol detection, cookie handling, proxy and header configuration, GZIP decompression, and Spring Boot integration, and provides comprehensive code examples for GET, POST, file upload, download, chained requests, and custom API client creation.

APIJavaSpringBoot
0 likes · 10 min read
Mastering OKHttpUtil: Simplify Java HTTP Requests with Ready‑to‑Use Code
Java Captain
Java Captain
Jul 12, 2025 · Operations

Master JVM Tuning: Practical Guide to Setting Memory and GC Parameters

This article walks through essential JVM memory and garbage‑collection settings, explaining each flag—such as -Xms, -Xmx, -XX:NewSize, and GC options—through a concrete example on an 8 GB server, and provides a complete command line configuration for optimal performance and OOM diagnostics.

Garbage CollectionJVMJava
0 likes · 7 min read
Master JVM Tuning: Practical Guide to Setting Memory and GC Parameters