Tagged articles
5000 articles
Page 47 of 50
macrozheng
macrozheng
Dec 30, 2023 · Backend Development

Master Single Sign-On (SSO) with SpringBoot, Vue & Uni‑App: A Hands‑On Guide

This article explains the concept, advantages, and implementation methods of Single Sign‑On (SSO) and provides two complete hands‑on examples—including architecture diagrams, database schema, configuration, and Java code for token‑based, ticket‑based, and RSA/AES encrypted SSO flows—using SpringBoot, Vue and Uni‑App.

AuthenticationSSOSpringBoot
0 likes · 18 min read
Master Single Sign-On (SSO) with SpringBoot, Vue & Uni‑App: A Hands‑On Guide
Java Architect Essentials
Java Architect Essentials
Dec 30, 2023 · Backend Development

Design and Implementation of a Java Rule Engine

This article presents a Java-based rule engine design, illustrating rule abstraction, concrete rule implementations, and a flexible executor supporting AND/OR logic, accompanied by code examples and a discussion of its advantages and drawbacks for maintainability.

Backend DevelopmentCode ExampleDesign Patterns
0 likes · 8 min read
Design and Implementation of a Java Rule Engine
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Dec 30, 2023 · Backend Development

Unlock Java 8 Streams: Simplify Collections with Powerful Operations

This article introduces Java 8 Stream API, explains how to create streams from collections, demonstrates common intermediate operations such as filter, map, flatMap, limit, skip, distinct, sorted, peek, and shows terminal actions like forEach, count, max, min, findFirst, findAny, and match methods with practical code examples.

CollectionsFunctional ProgrammingIntermediate Operations
0 likes · 17 min read
Unlock Java 8 Streams: Simplify Collections with Powerful Operations
IT Services Circle
IT Services Circle
Dec 29, 2023 · Backend Development

Bank Software Development Interview Guide: Java, MySQL, Thread Pools, HTTP, TCP/UDP, and Database Indexes

This article compiles common technical interview questions for bank software positions, covering Java fundamentals, MySQL storage engines and indexes, thread‑pool parameters, HTTP GET/POST differences, TCP vs UDP characteristics, session and cookie handling, Redis data types, and C++ memory management, providing concise explanations and examples for each topic.

C++DatabaseIndexHTTP
0 likes · 32 min read
Bank Software Development Interview Guide: Java, MySQL, Thread Pools, HTTP, TCP/UDP, and Database Indexes
DaTaobao Tech
DaTaobao Tech
Dec 29, 2023 · Backend Development

Design Patterns and Practices for Fast, Stable Development in Taobao Innovation Projects

The article outlines how the Taobao “Calm Guard” project accelerates rapid‑iteration development by employing reusable patterns—including a Spring‑based Strategy registry, a hierarchical fatigue‑control framework, generic cache upsert via functional parameters, and precise AOP aspects—resulting in faster, more stable, and maintainable code.

AOPBackend DevelopmentDesign Patterns
0 likes · 29 min read
Design Patterns and Practices for Fast, Stable Development in Taobao Innovation Projects
Java High-Performance Architecture
Java High-Performance Architecture
Dec 29, 2023 · Backend Development

Top 12 Must‑Know Java Open‑Source Projects for 2023

This article presents a curated list of the twelve most popular Java open‑source projects on GitHub in May 2023, providing repository URLs, star counts and concise descriptions to help developers discover valuable resources across backend, cloud‑native, and data‑integration domains.

2023GitHubOpen Source
0 likes · 6 min read
Top 12 Must‑Know Java Open‑Source Projects for 2023
Architect
Architect
Dec 28, 2023 · Backend Development

How to Implement Distributed Multi‑Rule Rate Limiting with Redis and Lua

This article explains how to design and implement a distributed rate‑limiting solution that supports multiple concurrent rules—such as per‑minute and per‑hour limits—by analyzing the shortcomings of simple string counters, introducing atomic Lua scripts and Zset structures, and providing complete Java annotation and AOP code examples.

AOPDistributed SystemsLua
0 likes · 13 min read
How to Implement Distributed Multi‑Rule Rate Limiting with Redis and Lua
ITPUB
ITPUB
Dec 28, 2023 · Backend Development

How We Refactored a 670k‑Line, 46‑Module Ticket System to Slash Deployment Time

This article details the background, pain points, and step‑by‑step technical solution behind refactoring a massive 670,000‑line, 46‑module ticketing application at Alibaba, highlighting architecture redesign, code simplification, performance gains, and a pragmatic rollout plan.

BackendPerformancearchitecture
0 likes · 26 min read
How We Refactored a 670k‑Line, 46‑Module Ticket System to Slash Deployment Time
Amap Tech
Amap Tech
Dec 28, 2023 · Backend Development

Rate Limiting Algorithms and Their Java Implementations

Rate limiting protects system stability by capping request rates, and this article explains five Java algorithms—Fixed Window, Sliding Window, Leaky Bucket, Token Bucket, and Guava's RateLimiter—showing their principles, pros and cons, and providing sample implementations and a Spring @Limit annotation for practical enforcement.

Distributed SystemsGuavaRate Limiting
0 likes · 17 min read
Rate Limiting Algorithms and Their Java Implementations
Architecture Digest
Architecture Digest
Dec 28, 2023 · Backend Development

Step-by-Step Alipay Payment Integration in Java with Spring Boot

This guide walks through configuring the Alipay sandbox, adding Maven dependencies, setting up application.yml, implementing Java configuration classes, creating controller endpoints for payment, handling asynchronous callbacks, processing refunds, and using RabbitMQ delayed queues to auto‑cancel unpaid orders, all with complete code examples.

AlipayBackendPayment Integration
0 likes · 12 min read
Step-by-Step Alipay Payment Integration in Java with Spring Boot
macrozheng
macrozheng
Dec 28, 2023 · Backend Development

Master Spring Boot Validation: 10 Essential Tips & Custom Annotations

This article explains ten practical techniques for implementing robust parameter validation in Spring Boot applications, covering built‑in annotations, custom constraints, server‑side checks, internationalization, validation groups, cross‑field rules, exception handling, testing, and the importance of complementary client‑side validation.

Spring Bootannotationsjava
0 likes · 17 min read
Master Spring Boot Validation: 10 Essential Tips & Custom Annotations
Java High-Performance Architecture
Java High-Performance Architecture
Dec 28, 2023 · Backend Development

How to Perform Fuzzy Search on Encrypted Fields in Java Applications

This article explains why traditional LIKE queries fail on encrypted sensitive fields, analyzes common scenarios, and presents four practical solutions—including tokenized ciphertext mapping—along with environment setup, Maven dependencies, and complete Spring Boot code to enable secure fuzzy searches on encrypted data.

DatabaseMyBatisSpring Boot
0 likes · 13 min read
How to Perform Fuzzy Search on Encrypted Fields in Java Applications
Java Backend Technology
Java Backend Technology
Dec 28, 2023 · Backend Development

Automate Java CRUD Code Generation with a Free Open‑Source Tool

Tired of manually creating entity classes, CRUD interfaces and SQL for dozens of tables, the author built an open‑source utility that generates complete backend code—including models, DAOs, services and controllers—in a single click, dramatically cutting development time.

CRUD automationMyBatisjava
0 likes · 16 min read
Automate Java CRUD Code Generation with a Free Open‑Source Tool
政采云技术
政采云技术
Dec 28, 2023 · Fundamentals

Queue and Stack Concepts, Implementations, and Applications in Java

This article explains the definitions, characteristics, and overflow cases of sequential and circular queues and stacks, provides Java implementations for these data structures, demonstrates their usage with sample code and results, and discusses practical applications of queue thinking in database-driven workflows.

QueueStackalgorithm
0 likes · 13 min read
Queue and Stack Concepts, Implementations, and Applications in Java
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Dec 28, 2023 · Fundamentals

Understanding Comparison Methods in Java

This article explains various comparison methods in Java, including equality operators, the equals() method, Comparator and Comparable interfaces, and provides code examples for primitive, object, string comparisons, as well as custom sorting logic, highlighting their roles in sorting, searching, and data handling.

ComparableComparatorcomparison
0 likes · 14 min read
Understanding Comparison Methods in Java
JD Cloud Developers
JD Cloud Developers
Dec 27, 2023 · Backend Development

7 Hidden Pitfalls of Spring BeanUtils.copyProperties You Must Avoid

This article explains seven subtle issues when using Spring's BeanUtils.copyProperties—such as type mismatches, null overwrites, wrong imports, inner‑class copying failures, shallow copy side effects, and performance drawbacks—providing code examples and recommendations to avoid them.

BackendBeanUtilsCopyProperties
0 likes · 10 min read
7 Hidden Pitfalls of Spring BeanUtils.copyProperties You Must Avoid
Java High-Performance Architecture
Java High-Performance Architecture
Dec 27, 2023 · Backend Development

How Nacos Implements Long‑Polling: Deep Dive into Client & Server Mechanics

This article explains the inner workings of Nacos' long‑polling mechanism, covering both client‑side scheduling and server‑side handling, with detailed code walkthroughs, architectural diagrams, and insights into how configuration changes are detected and propagated in a distributed system.

Backend DevelopmentConfiguration CenterNacos
0 likes · 17 min read
How Nacos Implements Long‑Polling: Deep Dive into Client & Server Mechanics
Code Ape Tech Column
Code Ape Tech Column
Dec 27, 2023 · Backend Development

Advanced Debugging Techniques in IntelliJ IDEA: Log, Field, Exception, and Method Breakpoints

This article introduces four powerful IntelliJ IDEA debugging techniques—adding log statements at breakpoints, using field breakpoints, configuring exception breakpoints, and setting method breakpoints—to help developers efficiently trace code execution and inspect variables without cluttering the source.

DebuggingIDE TipsIntelliJ IDEA
0 likes · 6 min read
Advanced Debugging Techniques in IntelliJ IDEA: Log, Field, Exception, and Method Breakpoints
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Dec 27, 2023 · Backend Development

How @Nullable Prevents Spring Bean Injection Failures

Learn how to use Spring's @Nullable annotation (or its Java equivalents) to safely handle missing beans during dependency injection, avoiding startup errors, with code examples, underlying mechanism details, and comparisons to other approaches like required=false, Optional, and ObjectFactory.

@NullableBackend Developmentdependency-injection
0 likes · 6 min read
How @Nullable Prevents Spring Bean Injection Failures
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Dec 26, 2023 · Backend Development

Understanding Java Thread Pools: Creation, Execution Flow, Advantages, and Common Implementations

This article introduces Java thread pools, explaining their purpose, creation using ThreadPoolExecutor, execution flow, advantages such as resource reuse and management, common blocking queues, rejection policies, and provides multiple code examples of various pool types and a comprehensive monitoring example.

BlockingQueueConcurrencyExecutorService
0 likes · 11 min read
Understanding Java Thread Pools: Creation, Execution Flow, Advantages, and Common Implementations
Architecture Digest
Architecture Digest
Dec 26, 2023 · Backend Development

Introducing mybatis-plus-generator-ui: A Web UI Code Generator for MyBatis-Plus

This article introduces mybatis-plus-generator-ui, a highly customizable web‑based code generator built on MyBatis‑Plus that supports multiple databases, offers interactive UI for generating Entity, Mapper, Service, Controller and other layers, and provides detailed usage, configuration, and extension instructions for Java backend developers.

Code GeneratorMavenMyBatis-Plus
0 likes · 14 min read
Introducing mybatis-plus-generator-ui: A Web UI Code Generator for MyBatis-Plus
Selected Java Interview Questions
Selected Java Interview Questions
Dec 26, 2023 · Backend Development

Introducing mybatis-plus-generator-ui: A Web UI Code Generator for MyBatis-Plus

This article presents mybatis-plus-generator-ui, a web‑based code generation framework that wraps MyBatis‑Plus, explains its features, shows how to integrate it via Maven and a Spring Boot entry point, demonstrates customization through templates and NameConverter, and provides guidance for building the UI frontend.

MyBatis-PlusSpring Bootjava
0 likes · 11 min read
Introducing mybatis-plus-generator-ui: A Web UI Code Generator for MyBatis-Plus
政采云技术
政采云技术
Dec 26, 2023 · Backend Development

Understanding Java Bytecode and Using ASM for Bytecode Manipulation

This article explains how Java achieves "write once, run anywhere" through platform‑independent bytecode, describes the .class file structure, introduces tools for viewing bytecode, and provides detailed guidance on using the ASM library’s Core and Tree APIs for bytecode enhancement, including practical code demos and application scenarios.

ASMBytecode ManipulationInstrumentation
0 likes · 16 min read
Understanding Java Bytecode and Using ASM for Bytecode Manipulation
Architect's Guide
Architect's Guide
Dec 26, 2023 · Fundamentals

Java Thread Communication Techniques: volatile, wait/notify, CountDownLatch, ReentrantLock with Condition, and LockSupport

This article demonstrates five Java thread‑communication approaches—using a volatile flag, Object.wait()/notify(), CountDownLatch, ReentrantLock with Condition, and LockSupport—each illustrated with complete code examples and explanations of their behavior and limitations.

ConcurrencyCountDownLatchLockSupport
0 likes · 10 min read
Java Thread Communication Techniques: volatile, wait/notify, CountDownLatch, ReentrantLock with Condition, and LockSupport
Su San Talks Tech
Su San Talks Tech
Dec 26, 2023 · Backend Development

How to Diagnose and Resolve RocketMQ Message Accumulation Issues

This article explains why RocketMQ messages can pile up, analyzes the consumer pull‑process bottlenecks of consumption latency and concurrency, and provides practical strategies—including logging, JVM stack inspection, and concurrency tuning—to identify and eliminate the root causes of message backlog.

Consumer LagMessage AccumulationPerformance tuning
0 likes · 10 min read
How to Diagnose and Resolve RocketMQ Message Accumulation Issues
Java Architect Essentials
Java Architect Essentials
Dec 25, 2023 · Backend Development

Optimizing SpringBoot Startup Time: Analyzing Bean Scanning and Initialization Bottlenecks

This article explains how to diagnose and dramatically reduce SpringBoot service startup latency by examining SpringApplicationRunListener phases, Bean scanning overhead, BeanPostProcessor timing, and cache auto‑configuration, then applying JavaConfig and starter‑based solutions to cut startup from minutes to seconds.

BackendBeanScanningCache
0 likes · 17 min read
Optimizing SpringBoot Startup Time: Analyzing Bean Scanning and Initialization Bottlenecks
Architect
Architect
Dec 25, 2023 · Backend Development

Implementing API Idempotency Checks with Design Patterns in Java

This article explains the concept of idempotency, why it is essential for API reliability, and demonstrates four practical idempotency strategies—including database primary keys, optimistic locking, token validation, and Redis caching—implemented via custom annotations and the Strategy pattern in a Spring‑Boot Java project.

APIDesign PatternsIdempotency
0 likes · 23 min read
Implementing API Idempotency Checks with Design Patterns in Java
DeWu Technology
DeWu Technology
Dec 25, 2023 · Databases

Jedis Connection Pool: Principles, Configuration, and Troubleshooting

Jedis uses Apache Commons’ GenericObjectPool to manage Redis connections, with Spring‑Data‑Redis creating a JedisConnectionFactory that holds a configurable pool where borrowObject and returnObject handle idle queues, eviction and validation settings (testOnBorrow, testWhileIdle, etc.) can be tuned, and JMX metrics aid troubleshooting.

ConnectionPoolGenericObjectPoolJedis
0 likes · 10 min read
Jedis Connection Pool: Principles, Configuration, and Troubleshooting
Top Architect
Top Architect
Dec 25, 2023 · Backend Development

Dynamic Modification of Cron Expressions in SpringBoot Scheduling

This article explains how to dynamically modify Cron expressions for scheduled tasks in SpringBoot applications, covering @EnableScheduling, @Scheduled, mutable and immutable task configurations, custom interfaces, and code examples for registering, refreshing, and managing tasks at runtime without external schedulers.

SchedulingSpringBootcron
0 likes · 13 min read
Dynamic Modification of Cron Expressions in SpringBoot Scheduling
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Dec 25, 2023 · Backend Development

Comprehensive Guide to Interface Exception Handling in Spring Boot

This article explains how to classify interface exceptions, implement unified handling using Spring Boot's @ControllerAdvice and custom ErrorController, and provides practical code examples for business, system, client, and filter exceptions, including redirect and error page strategies.

Backend DevelopmentControllerAdviceErrorController
0 likes · 19 min read
Comprehensive Guide to Interface Exception Handling in Spring Boot
phodal
phodal
Dec 25, 2023 · Artificial Intelligence

Can AI Write Perfect Unit Tests? Inside AutoDev’s Prompt‑Fine‑Tune Pipeline

This article explains how the open‑source AutoDev plugin builds an end‑to‑end AI‑assisted coding solution that fine‑tunes open LLMs, constructs a Unit Eval dataset, engineers prompts for unit‑test generation, and enforces quality through a unified write‑evaluate pipeline.

AIjavamodel fine-tuning
0 likes · 9 min read
Can AI Write Perfect Unit Tests? Inside AutoDev’s Prompt‑Fine‑Tune Pipeline
FunTester
FunTester
Dec 24, 2023 · Backend Development

What Changed When Upgrading Apache HttpClient 4 to 5? A Hands‑On Migration Guide

This article walks through the painful migration from Apache HttpClient 4.x to 5.3, detailing modular design, customization, HTTP/2 support, connection management, API changes such as retry strategy, request/response configuration, interceptors, async client, and provides concrete Maven snippets and code comparisons to help developers evaluate whether the upgrade is worthwhile.

API changesApache HttpClientBackend Development
0 likes · 14 min read
What Changed When Upgrading Apache HttpClient 4 to 5? A Hands‑On Migration Guide
Java Architect Essentials
Java Architect Essentials
Dec 24, 2023 · Backend Development

How to Add Watermarks to PDFs with Spring Boot: PDFBox, iText, Ghostscript, and More

This article walks through multiple ways to add text or image watermarks to PDF files in a Spring Boot application, covering Apache PDFBox, iText, Ghostscript command‑line, Free Spire.PDF, and Aspose.PDF, with Maven dependencies, step‑by‑step code examples, and practical tips for preserving original documents.

GhostscriptPDFPDFBox
0 likes · 14 min read
How to Add Watermarks to PDFs with Spring Boot: PDFBox, iText, Ghostscript, and More
macrozheng
macrozheng
Dec 24, 2023 · Fundamentals

Master Defensive Programming: Unconventional Naming Tricks & OOP Hacks

This article revisits defensive programming, explores quirky variable‑naming techniques—including single‑character, Chinese, and multilingual identifiers—and humorously breaks down core OOP concepts while stressing the developer’s irreplaceable role in modern software projects.

OOPdefensive programmingjava
0 likes · 7 min read
Master Defensive Programming: Unconventional Naming Tricks & OOP Hacks
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Dec 23, 2023 · Backend Development

Evolution of Technical Interview Questions: From Basic Java to Complex System Design

The article compares interview questions from ten years ago, which focused on basic Java concepts, with today's interviews that probe deep system design, distributed architecture, performance troubleshooting, and data consistency, highlighting the increasing difficulty and breadth of knowledge required for modern developers.

BackendCachingInterview
0 likes · 2 min read
Evolution of Technical Interview Questions: From Basic Java to Complex System Design
IT Services Circle
IT Services Circle
Dec 23, 2023 · Fundamentals

Java Multithreading: Processes, Threads, Creation Methods, and Common Controls

This article explains the fundamental concepts of processes and threads, uses a gaming analogy to illustrate their relationship, and details three ways to create threads in Java—extending Thread, implementing Runnable, and implementing Callable—along with common thread control methods such as sleep, join, and setDaemon.

CallableConcurrencyRunnable
0 likes · 9 min read
Java Multithreading: Processes, Threads, Creation Methods, and Common Controls
Selected Java Interview Questions
Selected Java Interview Questions
Dec 23, 2023 · Backend Development

Common Pitfalls When Using Spring BeanUtils.copyProperties

This article outlines common pitfalls of using Spring's BeanUtils.copyProperties for object property copying in Java backend development, including type mismatches, null overwrites, incorrect imports, inner class issues, shallow copy behavior, and performance drawbacks, and advises caution when employing this utility.

BackendBeanUtilsCopyProperties
0 likes · 8 min read
Common Pitfalls When Using Spring BeanUtils.copyProperties
Java Architect Essentials
Java Architect Essentials
Dec 22, 2023 · Backend Development

A Comprehensive Overview of MyBatis Architecture and Core Components

This article provides a detailed, global‑level review of MyBatis, covering its main features such as SQL mapping, dynamic SQL, parameter and result mapping, transaction management, connection‑pool integration, second‑level cache, as well as the three‑layer architecture, configuration parsing, proxy creation, and SQL execution process.

BackendMyBatisSQL Mapping
0 likes · 9 min read
A Comprehensive Overview of MyBatis Architecture and Core Components
Alibaba Cloud Native
Alibaba Cloud Native
Dec 22, 2023 · Cloud Native

Secure Sensitive Configurations in MSE Nacos Using KMS Encryption

This guide explains how MSE Nacos integrates with Alibaba Cloud KMS to encrypt and protect sensitive configuration data, covering the security challenges, architecture, encryption/decryption workflows, recommended configuration items, step‑by‑step setup, and Java/Go SDK examples for cloud‑native applications.

Configuration EncryptionInformation SecurityKMS
0 likes · 16 min read
Secure Sensitive Configurations in MSE Nacos Using KMS Encryption
Selected Java Interview Questions
Selected Java Interview Questions
Dec 22, 2023 · Backend Development

Implementing Fast File Chunk Upload with Spring Boot and MinIO

This article explains how to build a high‑performance file chunk (slice) upload system using Spring Boot and MinIO, covering project setup, MinIO configuration, controller and service implementation, front‑end integration with Thymeleaf, and performance optimizations such as parallel uploading and resumable transfers.

Spring Bootchunked uploadfile upload
0 likes · 12 min read
Implementing Fast File Chunk Upload with Spring Boot and MinIO
macrozheng
macrozheng
Dec 22, 2023 · Backend Development

Boost Java Development with MyBatis-Plus Generator UI: A Complete Guide

This article introduces the MyBatis-Plus Generator UI, a web‑based tool that streamlines Spring Boot code generation for entities, mappers, services, and controllers, explains how to integrate it via Maven, configure databases, customize templates, and extend its functionality with custom name converters.

Backend DevelopmentMybatis-PlusSpring Boot
0 likes · 14 min read
Boost Java Development with MyBatis-Plus Generator UI: A Complete Guide
Programmer DD
Programmer DD
Dec 22, 2023 · Backend Development

Master Spring Boot 3.2 JdbcClient: Fluent API for Simple DB Operations

This guide introduces Spring Boot 3.2's new JdbcClient, explains how to add the dependency, inject it, and perform fluent, chainable CRUD operations—including queries by ID, custom conditions, named parameters, map parameters, row mapping, and inserts—while highlighting its advantages over traditional ORM tools.

DatabaseFluent APIJdbcClient
0 likes · 7 min read
Master Spring Boot 3.2 JdbcClient: Fluent API for Simple DB Operations
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Dec 22, 2023 · Backend Development

5 Essential Spring Boot 3 Techniques for Validating and Customizing Configuration Properties

This guide demonstrates five practical Spring Boot 3 techniques—including using @ConfigurationProperties with validation, handling missing @Value entries, defining custom property sources, enforcing required properties, and parsing YML files—to ensure robust configuration management and prevent startup failures.

EnvironmentPostProcessorSpring BootYAML
0 likes · 5 min read
5 Essential Spring Boot 3 Techniques for Validating and Customizing Configuration Properties
IT Services Circle
IT Services Circle
Dec 21, 2023 · Backend Development

Comprehensive Backend Interview Guide: MySQL, Redis, Java Collections, Concurrency, and TCP

This article compiles essential backend interview questions and answers covering MySQL storage engines and indexes, Redis persistence modes, Java collection frameworks and HashMap internals, thread‑safe ConcurrentHashMap implementations, as well as HTTP message structure and TCP reliability mechanisms, providing a thorough review for candidates preparing for backend positions.

ConcurrencyInterviewMySQL
0 likes · 26 min read
Comprehensive Backend Interview Guide: MySQL, Redis, Java Collections, Concurrency, and TCP
Architecture Digest
Architecture Digest
Dec 21, 2023 · Backend Development

Comparison of Delayed Task Solutions in Java: Quartz, DelayQueue, Time Wheel, Redis and RabbitMQ

The article explains the concept of delayed tasks versus scheduled tasks in payment systems, outlines their key differences, and evaluates five practical implementation approaches—Quartz database polling, JDK DelayQueue, Netty's HashedWheelTimer, Redis ZSET/Keyspace notifications, and RabbitMQ delayed queues—detailing their code examples, advantages and drawbacks.

DelayQueueDelayed TasksQuartz
0 likes · 16 min read
Comparison of Delayed Task Solutions in Java: Quartz, DelayQueue, Time Wheel, Redis and RabbitMQ
Alibaba Cloud Developer
Alibaba Cloud Developer
Dec 21, 2023 · Backend Development

Mastering Rate Limiting: Algorithms, Java Implementations, and Guava Tips

This article explains why rate limiting is essential for high‑traffic systems, defines common rate‑limiting algorithms (fixed window, sliding window, leaky bucket, token bucket), provides complete Java code examples for each, and demonstrates practical usage with Guava's RateLimiter in real‑world applications.

BackendDistributed SystemsGuava
0 likes · 19 min read
Mastering Rate Limiting: Algorithms, Java Implementations, and Guava Tips
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Dec 21, 2023 · Backend Development

Spring WebFlux Functional Endpoints: HandlerFunction, ServerRequest & Response

This article explains how Spring WebFlux's functional programming model uses HandlerFunction, ServerRequest, and ServerResponse to build reactive, immutable HTTP endpoints, covering routing with RouterFunction, request body extraction, response creation, validation, and practical code examples for Java developers.

Functional ProgrammingHandlerFunctionServerRequest
0 likes · 8 min read
Spring WebFlux Functional Endpoints: HandlerFunction, ServerRequest & Response
JD Cloud Developers
JD Cloud Developers
Dec 20, 2023 · Backend Development

How to Seamlessly Upgrade Spring Boot 2.7 for JDK 17 on JD Cloud

This guide explains why Spring Boot 2.7 is the optimal bridge to JDK 17, details the new language and performance features, provides step‑by‑step deployment and configuration instructions for JD Cloud, and shares practical compatibility fixes and IDE tips for a smooth migration.

JDK 17MigrationSpring Boot
0 likes · 20 min read
How to Seamlessly Upgrade Spring Boot 2.7 for JDK 17 on JD Cloud
政采云技术
政采云技术
Dec 20, 2023 · Backend Development

MyBatis Cache Issues

This article explains MyBatis's first‑level and second‑level cache mechanisms, illustrates common consistency problems caused by default cache settings in both distributed and single‑session scenarios, and provides practical recommendations such as adjusting localCacheScope or deep‑copying results to avoid cache pitfalls.

BackendCacheMyBatis
0 likes · 12 min read
MyBatis Cache Issues
Code Ape Tech Column
Code Ape Tech Column
Dec 20, 2023 · Backend Development

Understanding Nacos Configuration Center Long‑Polling Mechanism: Client and Server Implementation

This article provides a detailed walkthrough of Nacos' configuration center long‑polling mechanism, explaining how the client initializes ConfigService, schedules periodic checks, processes configuration changes, and how the server receives listener requests, manages long‑polling tasks, and triggers change events, all illustrated with code snippets and diagrams.

BackendNacosconfiguration
0 likes · 12 min read
Understanding Nacos Configuration Center Long‑Polling Mechanism: Client and Server Implementation
Su San Talks Tech
Su San Talks Tech
Dec 20, 2023 · Fundamentals

Why Does Comparing Two Java Integer Objects Sometimes Return True?

This article explains why using the == operator on two Java Integer objects can yield true for values between -128 and 127 but false for larger numbers, detailing the Integer cache mechanism, reference vs value comparison, and the proper use of equals for value equality.

IntegerObject Comparisonequals method
0 likes · 6 min read
Why Does Comparing Two Java Integer Objects Sometimes Return True?
Architect
Architect
Dec 19, 2023 · Backend Development

How Graceful Response Simplifies Spring Boot API Error Handling

This article analyzes the inefficiencies and duplication in typical Spring Boot controller code, introduces the Graceful Response library, and provides step‑by‑step instructions—including Maven integration, annotation setup, controller and service examples, exception mapping, validation handling, and response style configuration—to achieve cleaner, unified API responses.

Backend DevelopmentException ManagementResponse Handling
0 likes · 12 min read
How Graceful Response Simplifies Spring Boot API Error Handling
Selected Java Interview Questions
Selected Java Interview Questions
Dec 19, 2023 · Backend Development

Dynamic Change of Cron Expression in SpringBoot Scheduling

This article explains how to dynamically modify Cron expressions for scheduled tasks in a SpringBoot application by using @EnableScheduling, @Scheduled, custom interfaces, and a refresh mechanism that registers, updates, or disables tasks at runtime without additional middleware.

BackendSchedulingSpringBoot
0 likes · 11 min read
Dynamic Change of Cron Expression in SpringBoot Scheduling
macrozheng
macrozheng
Dec 19, 2023 · Backend Development

How to Design a Scalable Permission System for SpringBoot E‑Commerce

This article walks through the complete design and implementation of a permission module for the Mall e‑commerce project, covering functional design, database schema, API specifications, and key technical choices such as Spring Security, JWT, and Redis‑based AOP optimization.

Database DesignPermission SystemSpringBoot
0 likes · 7 min read
How to Design a Scalable Permission System for SpringBoot E‑Commerce
Java Captain
Java Captain
Dec 19, 2023 · Backend Development

Securing Spring Boot Production Packages with Code Obfuscation and Encryption Using ClassFinal Maven Plugin

This guide explains how to protect Spring Boot production packages from reverse engineering by applying code obfuscation with ProGuard and full encryption using the ClassFinal Maven plugin, including configuration steps, encrypted startup commands, machine‑binding activation, and the resulting decompilation behavior.

ClassFinalMavenSpring Boot
0 likes · 6 min read
Securing Spring Boot Production Packages with Code Obfuscation and Encryption Using ClassFinal Maven Plugin
Java Captain
Java Captain
Dec 19, 2023 · Fundamentals

An Introduction to Java Multithreading: Basics, Techniques, and Applications

This article introduces Java multithreading, covering core concepts such as thread lifecycle, creation via Thread subclass and Runnable, synchronization mechanisms, thread pools, and practical applications in web, Android, game, and big data development, helping readers fully grasp multithreaded programming in Java.

ConcurrencySynchronizationThreadPool
0 likes · 4 min read
An Introduction to Java Multithreading: Basics, Techniques, and Applications
Code Ape Tech Column
Code Ape Tech Column
Dec 19, 2023 · Information Security

Implementation of Single Sign-On (SSO) with Service A and Service B Using Ticket and Token Mechanisms

This article explains the concept, advantages, and three implementation methods of Single Sign-On (SSO), then provides two complete practical examples—including architecture diagrams, step‑by‑step flows, and full Java code for ticket‑based and encrypted data‑based SSO—followed by supplementary RSA key generation notes and a brief promotional note.

AuthenticationBackendRSA
0 likes · 18 min read
Implementation of Single Sign-On (SSO) with Service A and Service B Using Ticket and Token Mechanisms
FunTester
FunTester
Dec 19, 2023 · Backend Development

How to Resolve IntelliJ 2023.3 Groovyc ClassNotFoundError After JDK 21 Upgrade

After upgrading to IntelliJ 2023.3 for better JDK 21 virtual‑thread support, users encounter a Groovyc ClassNotFoundError caused by missing IntelliJ internal classes, and the article outlines the affected builds and three practical work‑arounds, including a JVM option to run Groovyc in‑process.

Build ProcessDebuggingGroovy
0 likes · 4 min read
How to Resolve IntelliJ 2023.3 Groovyc ClassNotFoundError After JDK 21 Upgrade
Architect
Architect
Dec 18, 2023 · Backend Development

Implementing Dynamic Data Source Switching in Spring Boot with ThreadLocal and AbstractRoutingDataSource

This article demonstrates how to build a custom dynamic data‑source solution for Spring Boot by using ThreadLocal to store the current datasource key, extending AbstractRoutingDataSource for routing, configuring multiple datasources in application.yml, and optionally adding annotation‑driven switching and runtime datasource registration.

DynamicDataSourceMyBatisPlusThreadLocal
0 likes · 15 min read
Implementing Dynamic Data Source Switching in Spring Boot with ThreadLocal and AbstractRoutingDataSource
Selected Java Interview Questions
Selected Java Interview Questions
Dec 18, 2023 · Backend Development

Implementing API Idempotency with Spring Boot, Redis, and Custom Annotations

This article explains the concept of idempotency, presents several strategies to achieve it, and provides a complete Spring Boot implementation using Redis, a custom @AutoIdempotent annotation, token generation and verification, interceptor configuration, and test cases to ensure only the first request succeeds.

BackendIdempotencyInterceptor
0 likes · 10 min read
Implementing API Idempotency with Spring Boot, Redis, and Custom Annotations
Architecture Digest
Architecture Digest
Dec 18, 2023 · Backend Development

Design Patterns Used in the MyBatis Framework

This article examines the various design patterns—such as Factory, Singleton, Builder, Adapter, Proxy, Composite, Decorator, Template, Strategy, and Iterator—employed within the MyBatis source code, explaining their structures, usage scenarios, and related components to illustrate how the framework achieves modularity and flexibility.

Backend DevelopmentMyBatisjava
0 likes · 9 min read
Design Patterns Used in the MyBatis Framework
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Dec 18, 2023 · Backend Development

Handling Interface Parameters in Spring Boot: Retrieval, Types, Validation, and File Upload

This article explains how to retrieve and handle various Spring Boot API parameters—including query, path, request body, header, and file uploads—covers parameter type handling such as dates and lists, demonstrates validation annotations, and provides complete code examples for each scenario.

API parametersBackend DevelopmentSpring Boot
0 likes · 11 min read
Handling Interface Parameters in Spring Boot: Retrieval, Types, Validation, and File Upload
FunTester
FunTester
Dec 17, 2023 · Fundamentals

Understanding Java Generics: Concepts, Benefits, and Practical Examples

This article explains Java generics, covering type parameters, generic classes and interfaces, bounded types, wildcards, and generic methods, while highlighting benefits such as type safety, code reuse, readability, and performance, and provides multiple code examples demonstrating generic usage across different data types.

Code ReuseGenericsgeneric methods
0 likes · 15 min read
Understanding Java Generics: Concepts, Benefits, and Practical Examples
Architect
Architect
Dec 16, 2023 · Databases

Detailed Walkthrough of Druid Connection Pool Lifecycle and Configuration

This article provides an in‑depth analysis of Druid's connection‑pool lifecycle, covering initialization, connection acquisition, validation, eviction, keep‑alive, and recycling processes, while offering performance‑related configuration recommendations and code examples for Java developers.

Connection PoolDruidThread Management
0 likes · 24 min read
Detailed Walkthrough of Druid Connection Pool Lifecycle and Configuration
Architecture Digest
Architecture Digest
Dec 15, 2023 · Operations

Diagnosing High CPU and Frequent GC in a Java Container: A Step‑by‑Step Analysis

When a production container suddenly hit over 90% CPU and excessive JVM garbage collection, the author walks through entering the pod, using top and top‑H to locate the offending thread, extracting its stack with jstack, downloading the data via a simple HTTP server, and ultimately discovering an Excel export routine that caused massive object allocation, fixing the code and restoring stability.

CPUJVMKubernetes
0 likes · 6 min read
Diagnosing High CPU and Frequent GC in a Java Container: A Step‑by‑Step Analysis
macrozheng
macrozheng
Dec 15, 2023 · Backend Development

How Xxl-Job Powers Lightweight Distributed Task Scheduling in Java

This article explains the core concepts, architecture, and implementation details of the lightweight distributed scheduling platform Xxl-Job, including its scheduler center, executor, job handlers, registration, task triggering, routing strategies, execution flow, and result callbacks, with a step‑by‑step demo and code examples.

BackendDistributed SchedulingSpringBoot
0 likes · 21 min read
How Xxl-Job Powers Lightweight Distributed Task Scheduling in Java
Programmer DD
Programmer DD
Dec 15, 2023 · Backend Development

12 Counterproductive Coding Practices That Kill Readability

The article enumerates twelve common defensive coding habits—like per‑table microservices, overly long methods, deep nesting, misleading comments, and unnecessary frameworks—that degrade readability and increase maintenance effort, illustrating each with a fictional programmer’s missteps and their impact on teams.

code qualityjavarefactoring
0 likes · 11 min read
12 Counterproductive Coding Practices That Kill Readability
Su San Talks Tech
Su San Talks Tech
Dec 15, 2023 · Backend Development

Boost Java Development with Hutool: Essential Modules and Practical Examples

This article introduces the Hutool Java utility library, outlines its core modules, shows how to integrate it via Maven, and provides practical code examples for HTTP requests, random code generation, pinyin conversion, timing, number handling, data masking, email sending, and Bloom filter usage.

Backend DevelopmentCode ExamplesHTTP
0 likes · 12 min read
Boost Java Development with Hutool: Essential Modules and Practical Examples
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Dec 15, 2023 · Backend Development

How Spring Cloud Dynamically Refreshes @ConfigurationProperties Beans

This article explains how Spring Cloud discovers classes annotated with @ConfigurationProperties, wraps them into ConfigurationPropertiesBean objects, and dynamically rebinds them at runtime using RefreshScope, EnvironmentChangeEvent, and the RefreshEndpoint actuator, enhancing application flexibility and scalability.

@RefreshScopeConfigurationPropertiesDynamic Refresh
0 likes · 9 min read
How Spring Cloud Dynamically Refreshes @ConfigurationProperties Beans
21CTO
21CTO
Dec 14, 2023 · Databases

Why esProc SPL Beats SQLite for Lightweight Data Processing

esProc SPL, a pure‑Java, lightweight data‑processing engine, offers richer data source support, built‑in flow control, and easier complex calculations compared to SQLite, making it a powerful alternative for small applications that need database‑like capabilities without the overhead of traditional databases.

Data ProcessingSPLSQLite
0 likes · 7 min read
Why esProc SPL Beats SQLite for Lightweight Data Processing
macrozheng
macrozheng
Dec 14, 2023 · Backend Development

How Graceful Response Simplifies Spring Boot API Development

Graceful Response is a Spring Boot library that provides unified response wrapping, global exception handling, and customizable error codes, reducing boilerplate code, improving readability, and streamlining validation for Java web APIs.

APIGraceful ResponseResponse wrapper
0 likes · 11 min read
How Graceful Response Simplifies Spring Boot API Development
Java High-Performance Architecture
Java High-Performance Architecture
Dec 14, 2023 · Backend Development

Master Dynamic Data Source Switching with ThreadLocal in SpringBoot

This guide explains how to implement dynamic data source switching in SpringBoot by leveraging ThreadLocal and AbstractRoutingDataSource, covering basic concepts, code examples for context holder, routing datasource, configuration, annotation‑driven switching, and runtime addition of new data sources with practical testing steps.

Dynamic Data SourceMybatis-PlusSpringBoot
0 likes · 18 min read
Master Dynamic Data Source Switching with ThreadLocal in SpringBoot