Tagged articles

Java

5000 articles · Page 25 of 50
FunTester
FunTester
Apr 18, 2025 · Backend Development

Using CompletableFuture for Parallel REST Calls in Java

The article explains why serial REST calls cause performance bottlenecks, illustrates the benefits of concurrent requests, and demonstrates how Java 8's CompletableFuture can be used to implement parallel REST calls with robust exception handling, improving throughput and resource utilization.

CompletableFutureJavaREST
0 likes · 10 min read
Using CompletableFuture for Parallel REST Calls in Java
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Apr 18, 2025 · Backend Development

Discover 17 Spring Boot Return Types: From @ResponseBody to Flux & Mono

This article explains how Spring Boot controllers can return up to 17 different response types—including @ResponseBody, HttpEntity, ResponseEntity, HttpHeaders, ErrorResponse, ProblemDetail, String views, ModelAndView, @ModelAttribute, DeferredResult, Callable, CompletableFuture, ResponseBodyEmitter, SseEmitter, StreamingResponseBody, Flux and Mono—providing code examples, usage notes, and sample output images for each.

JavaReturn TypesSpring Boot
0 likes · 16 min read
Discover 17 Spring Boot Return Types: From @ResponseBody to Flux & Mono
Java Architect Essentials
Java Architect Essentials
Apr 17, 2025 · Fundamentals

A Comprehensive Guide to Java Code Quality Tools: Alibaba Java Coding Guidelines, CheckStyle, PMD, FindBugs, and SonarLint

This article introduces several Java code quality tools—including Alibaba Java Coding Guidelines, CheckStyle, PMD, FindBugs, and SonarLint—detailing their installation, usage, and key features to help developers improve code standards, detect bugs, and streamline code review processes.

IDE pluginsJavacode quality
0 likes · 13 min read
A Comprehensive Guide to Java Code Quality Tools: Alibaba Java Coding Guidelines, CheckStyle, PMD, FindBugs, and SonarLint
Sanyou's Java Diary
Sanyou's Java Diary
Apr 17, 2025 · Backend Development

Why Does Log4j2 Async Logging Block Threads? Deep Dive & Solutions

Log4j2’s asynchronous logging can cause thread blocking when the Disruptor ring buffer fills, a problem explored through its architecture, root causes, and practical mitigation strategies such as dual‑track log classification, bytecode‑enhanced line‑level control, Maven plugins, and IDE integrations for dynamic log management.

Asynchronous LoggingJavalog4j2
0 likes · 13 min read
Why Does Log4j2 Async Logging Block Threads? Deep Dive & Solutions
ITPUB
ITPUB
Apr 17, 2025 · Databases

Migrate 700TB Over 2Mbps: Scripts, Sneakernet & Practical Steps

When a manager demands a script to move a 700‑terabyte database under a 2 Mbps bandwidth cap, the realistic solution combines physical Sneakernet transfer with a carefully staged export‑transform‑load script that handles field mapping, compression, rate‑limited transport, and fault‑tolerant import.

ETLJavalarge data transfer
0 likes · 8 min read
Migrate 700TB Over 2Mbps: Scripts, Sneakernet & Practical Steps
IT Services Circle
IT Services Circle
Apr 17, 2025 · Backend Development

McDonald's Java Backend Interview Experience and Technical Q&A

This article shares a candidate's interview experience at McDonald's China Technology R&D Center, detailing salary expectations, work schedule, and an extensive technical Q&A covering IoC/DI, MyBatis, JVM memory and garbage‑collection algorithms, MySQL storage engines, concurrency, locking, RPC, HTTPS, Docker/Kubernetes commands, and Git workflows, while also including some promotional material.

DockerJavaKubernetes
0 likes · 22 min read
McDonald's Java Backend Interview Experience and Technical Q&A
Top Architect
Top Architect
Apr 17, 2025 · Backend Development

Plugin Architecture in Java: Implementing Modular Extensions with ServiceLoader, Spring Factories, and Custom Configurations

This article explains how to design and implement a plugin mechanism in Java and Spring Boot, covering the benefits of modular decoupling, common implementation patterns such as ServiceLoader and custom configuration files, and practical code examples for building extensible backend services.

Dependency InjectionJavaServiceLoader
0 likes · 23 min read
Plugin Architecture in Java: Implementing Modular Extensions with ServiceLoader, Spring Factories, and Custom Configurations
Cognitive Technology Team
Cognitive Technology Team
Apr 17, 2025 · Backend Development

Understanding and Solving NIO Empty Polling in Java with Netty

This article explains the root causes of Java NIO empty polling, its impact on CPU usage, and presents Netty's multi‑layer detection, threshold‑based auto‑rebuild, and selector reconstruction techniques, along with configuration tips and future optimization directions for high‑concurrency backend systems.

EmptyPollingJavaNIO
0 likes · 8 min read
Understanding and Solving NIO Empty Polling in Java with Netty
Selected Java Interview Questions
Selected Java Interview Questions
Apr 17, 2025 · Backend Development

Understanding Java SPI and Implementing a Plugin Architecture

This article explains Java's Service Provider Interface (SPI) mechanism, compares SPI with traditional APIs, and provides a step‑by‑step guide—including Maven project setup, interface definition, implementation classes, custom class loader, and Spring Boot integration—to build a dynamic plugin system for backend applications.

JavaSPIbackend-development
0 likes · 16 min read
Understanding Java SPI and Implementing a Plugin Architecture
macrozheng
macrozheng
Apr 17, 2025 · Backend Development

Mastering Rate Limiting: 4 Proven Strategies to Protect Your Services

Facing a sudden 35% error rate in a payment API, the article explores why unprotected services crash, then details four common rate‑limiting algorithms—fixed window, sliding window, leaky bucket, token bucket—offering Java implementations, real‑world case studies, pitfalls, and performance tuning tips for production systems.

Javabackendrate limiting
0 likes · 10 min read
Mastering Rate Limiting: 4 Proven Strategies to Protect Your Services
Cognitive Technology Team
Cognitive Technology Team
Apr 16, 2025 · Backend Development

Automatic Trace-Wrapped ThreadPool Instances in Spring Cloud

This article explains how Spring Cloud automatically wraps managed thread pool beans with trace-enabled proxies to preserve distributed tracing information, details the ExecutorBeanPostProcessor implementation, shows the relevant configuration and instrumentation code, and notes that manually created executors must be wrapped manually.

Backend DevelopmentInstrumentationJava
0 likes · 7 min read
Automatic Trace-Wrapped ThreadPool Instances in Spring Cloud
Architect
Architect
Apr 16, 2025 · Backend Development

Flow Engine and Plugin Extension Engine for Business Isolation and Extensibility in MemberClub

The article explains how the MemberClub open‑source project leverages a flow engine and plugin extension engine to achieve business code isolation and extensibility, illustrating the problems of if‑else branching in multi‑business systems, providing configuration examples, execution principles, and Java code snippets.

Business IsolationJavaSpringBoot
0 likes · 8 min read
Flow Engine and Plugin Extension Engine for Business Isolation and Extensibility in MemberClub
Selected Java Interview Questions
Selected Java Interview Questions
Apr 16, 2025 · Backend Development

Design and Selection of Local In-Memory Cache Solutions for High-Performance Services

An overview of two‑level caching architecture, the motivations for using local in‑memory caches, essential features of a local cache, comparative analysis of implementations using ConcurrentHashMap, Guava Cache, Caffeine, and Ehcache, and strategies for consistency, hit‑rate improvement, and practical code examples.

CachingCaffeineEhcache
0 likes · 11 min read
Design and Selection of Local In-Memory Cache Solutions for High-Performance Services
Code Ape Tech Column
Code Ape Tech Column
Apr 16, 2025 · Backend Development

QLExpress: A Lightweight Dynamic Script Engine for Fast and Flexible Business Rule Configuration

This article introduces QLExpress, Alibaba's open‑source lightweight dynamic script engine, explains its thread‑safe and high‑performance features, compares it with other rule engines, and provides comprehensive Java examples covering integration, syntax, custom operators, functions, macros, dynamic parameters, collection handling, and traversal for enterprise rule management.

Dynamic ScriptingJavaQLExpress
0 likes · 30 min read
QLExpress: A Lightweight Dynamic Script Engine for Fast and Flexible Business Rule Configuration
Top Architecture Tech Stack
Top Architecture Tech Stack
Apr 16, 2025 · Backend Development

Improving Spring Controller Design: Unified Response Structure, Validation, and Exception Handling

This article explains how to refactor Spring MVC controllers by introducing a unified response wrapper, using ResponseBodyAdvice for automatic packaging, handling String conversion issues, applying JSR‑303 validation for request parameters, creating custom validators, and defining centralized exception handling to keep controller code clean and maintainable.

ControllerExceptionHandlingJava
0 likes · 17 min read
Improving Spring Controller Design: Unified Response Structure, Validation, and Exception Handling
Cognitive Technology Team
Cognitive Technology Team
Apr 15, 2025 · Backend Development

Using Traceable Thread Pools in Spring Cloud to Preserve Trace Context

This article explains why and how to enforce the use of trace‑aware thread pools in Spring Cloud, presenting three approaches—including TraceableExecutorService, Tracer.currentTraceContext().wrap, and TraceCallable/TraceRunnable—to prevent loss of distributed tracing information in multithreaded applications.

Backend DevelopmentJavaSleuth
0 likes · 4 min read
Using Traceable Thread Pools in Spring Cloud to Preserve Trace Context
Architecture Digest
Architecture Digest
Apr 15, 2025 · Backend Development

JDFrame/SDFrame Java DataFrame Library: API Guide and Usage Examples

This article introduces the JDFrame and SDFrame Java libraries that provide DataFrame‑like, semantic stream processing APIs, demonstrates how to add Maven dependencies, shows quick‑start examples, detailed CRUD, filtering, grouping, sorting, joining, pagination, and other advanced operations with full code snippets for developers.

APIJDFrameJava
0 likes · 13 min read
JDFrame/SDFrame Java DataFrame Library: API Guide and Usage Examples
Java Backend Full-Stack
Java Backend Full-Stack
Apr 15, 2025 · Backend Development

How to Retrieve Nearby Charging Station Information Using Redis GEO

This tutorial shows how to obtain a user's current latitude and longitude via an IP API, send the coordinates to a backend service that stores charging stations in Redis GEO, and query stations within a 20‑kilometer radius, with complete front‑end and back‑end code examples.

Charging StationGEOJava
0 likes · 4 min read
How to Retrieve Nearby Charging Station Information Using Redis GEO
Code Ape Tech Column
Code Ape Tech Column
Apr 15, 2025 · Backend Development

Understanding the Compatibility of @Transactional and @Async in Spring

This tutorial explains how Spring's @Transactional and @Async annotations work, explores their interaction in various scenarios such as bank‑transfer examples, discusses thread‑context propagation, highlights pitfalls when mixing them, and provides best‑practice recommendations for maintaining data integrity.

@TransactionalAsynchronous ExecutionBackend Development
0 likes · 11 min read
Understanding the Compatibility of @Transactional and @Async in Spring
Senior Tony
Senior Tony
Apr 15, 2025 · Backend Development

How to Size Java Thread Pools: CPU vs I/O Strategies and Dynamic ThreadPool Solutions

This article explains two common approaches for configuring Java thread pools—static sizing based on CPU‑bound or I/O‑bound workloads and a formula‑driven method—then critiques their limits in real systems and introduces DynamicTp as a flexible, monitoring‑enabled alternative with code examples and architectural details.

CPU BoundDynamicThreadPoolI/O Bound
0 likes · 8 min read
How to Size Java Thread Pools: CPU vs I/O Strategies and Dynamic ThreadPool Solutions
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Apr 15, 2025 · Backend Development

How to Implement Delayed Queues in RabbitMQ: TTL, DLX, and Plugin Methods

This article explains what delayed queues are, details two RabbitMQ implementations using TTL with dead‑letter exchanges and the rabbitmq‑delayed‑message‑exchange plugin, provides full Java configuration and producer/consumer code examples, and outlines common use‑cases such as order timeout and refund processing.

Backend DevelopmentDead‑Letter QueueJava
0 likes · 13 min read
How to Implement Delayed Queues in RabbitMQ: TTL, DLX, and Plugin Methods
Cognitive Technology Team
Cognitive Technology Team
Apr 15, 2025 · Fundamentals

Understanding Labeled Breaks in Java

This article explains Java's labeled break statement, showing its syntax, a practical example with code, discusses its potential as a code smell, outlines appropriate use cases, and offers guidance on when to prefer refactoring for clearer control flow.

Best PracticesControl FlowJava
0 likes · 6 min read
Understanding Labeled Breaks in Java
Java Architect Essentials
Java Architect Essentials
Apr 14, 2025 · Backend Development

Using Spring's ResponseBodyEmitter for Real-Time Log Streaming

This article introduces Spring Framework's ResponseBodyEmitter, explains its role in asynchronous HTTP responses, outlines typical use cases such as long polling and real‑time log streaming, provides a complete Spring Boot example with code, and compares it with SSE and raw OutputStream approaches.

JavaResponseBodyEmitterSpring
0 likes · 11 min read
Using Spring's ResponseBodyEmitter for Real-Time Log Streaming
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Apr 14, 2025 · Backend Development

Mastering RabbitMQ Dead Letter Exchanges and Queues with Java Code

This article explains the concepts of RabbitMQ dead‑letter exchanges and queues, outlines why messages become dead letters, and provides complete Java code examples for configuring exchanges, publishing messages with TTL, and consuming both normal and dead‑letter queues.

Dead‑Letter QueueJavaMessage Queue
0 likes · 12 min read
Mastering RabbitMQ Dead Letter Exchanges and Queues with Java Code
Java Tech Enthusiast
Java Tech Enthusiast
Apr 13, 2025 · Backend Development

Dynamic Loading of JAR Files in Spring Boot Applications

This guide explains how Spring Boot applications can dynamically load and unload JAR files at runtime—covering the underlying concepts, benefits such as modularity and hot‑plugging, and step‑by‑step implementations using SpringBootClassLoader as well as the OSGi resource‑locator library.

Class LoaderDynamic JAR LoadingJava
0 likes · 9 min read
Dynamic Loading of JAR Files in Spring Boot Applications
Top Architect
Top Architect
Apr 12, 2025 · Backend Development

Comprehensive Guide to Maven: Basic Configuration, Dependency Management, Modules, Plugins, and Build Settings

This article provides a detailed tutorial on Maven, covering basic configuration, repository setup, dependency management, module organization, plugin usage (including jar, assembly, shade), and build settings, with examples and code snippets to help Java developers efficiently manage projects.

Backend DevelopmentBuild ToolsJava
0 likes · 19 min read
Comprehensive Guide to Maven: Basic Configuration, Dependency Management, Modules, Plugins, and Build Settings
Top Architect
Top Architect
Apr 12, 2025 · Backend Development

Decoupling Front‑End and Back‑End with a Dedicated TPS Microservice for Third‑Party Push Integration

This article analyzes the coupling problems caused by multiple controller calls and third‑party push interfaces, proposes a TPS microservice to centralize third‑party interactions, demonstrates Java Feign interfaces and enum‑based routing, and shows how backend and frontend can achieve low‑coupling architecture while reducing code duplication.

API designCouplingFeign
0 likes · 9 min read
Decoupling Front‑End and Back‑End with a Dedicated TPS Microservice for Third‑Party Push Integration
Java Tech Enthusiast
Java Tech Enthusiast
Apr 12, 2025 · Fundamentals

What Is Java Syntactic Sugar? A Deep Dive into Hidden Language Features

This article explains Java's syntactic sugar—features like enhanced for-loops, autoboxing, varargs, string switches, and try‑with‑resources—showing the original concise syntax, the compiler‑generated code behind it, and practical considerations for performance and readability.

Javainterviewlanguage features
0 likes · 7 min read
What Is Java Syntactic Sugar? A Deep Dive into Hidden Language Features
Java Tech Enthusiast
Java Tech Enthusiast
Apr 12, 2025 · Backend Development

Understanding AtomicLong vs LongAdder in Java Concurrency

In high‑concurrency Java applications, LongAdder—introduced in JDK 8 and using partitioned cells to reduce contention—generally outperforms the single‑value AtomicLong, which relies on CAS and can cause CPU waste under heavy load, so Alibaba advises LongAdder for scalable distributed counters, though memory usage and workload specifics must be considered.

CASConcurrencyJava
0 likes · 7 min read
Understanding AtomicLong vs LongAdder in Java Concurrency
Architect's Guide
Architect's Guide
Apr 12, 2025 · Backend Development

Refactoring Data Validation with Java 8 Functional Interfaces

This article demonstrates how Java 8's functional interfaces, especially Function and SFunction, can be used to abstract and reuse data‑validation logic, dramatically reducing boilerplate code, improving readability, and making validation rules easier to maintain and extend.

Data ValidationFunctional ProgrammingJava
0 likes · 12 min read
Refactoring Data Validation with Java 8 Functional Interfaces
Cognitive Technology Team
Cognitive Technology Team
Apr 12, 2025 · Backend Development

Using CompletableFuture with Streams for Parallel Execution in Java

The article explains how to correctly combine Java's CompletableFuture with Stream API to achieve true asynchronous parallelism, highlights common pitfalls that lead to sequential execution, and provides the proper pattern of creating a CompletableFuture stream followed by a terminal operation.

CompletableFutureConcurrencyJava
0 likes · 3 min read
Using CompletableFuture with Streams for Parallel Execution in Java
Cognitive Technology Team
Cognitive Technology Team
Apr 11, 2025 · Backend Development

Understanding Netty 4 Thread Model: Master‑Worker Multithreading and EventLoop Design

Netty 4 employs a global multithreaded, locally single‑threaded (event‑loop) architecture where a boss thread pool accepts connections and delegates them to worker thread pools, each containing NioEventLoop instances with selectors, task queues, and pipelines, ensuring lock‑free, ordered processing while avoiding thread blocking.

ConcurrencyEventLoopJava
0 likes · 5 min read
Understanding Netty 4 Thread Model: Master‑Worker Multithreading and EventLoop Design
Java Tech Enthusiast
Java Tech Enthusiast
Apr 11, 2025 · Backend Development

Concept‑Download: A Spring Library for Annotation‑Driven File Download

Concept‑Download is a Spring library that lets developers replace verbose, multi‑step file‑download code with a single @Download annotation, automatically handling source loading, optional ZIP compression, and response writing for both MVC and WebFlux via a modular reactive handler chain.

File DownloadJavaReactive
0 likes · 16 min read
Concept‑Download: A Spring Library for Annotation‑Driven File Download
Top Architecture Tech Stack
Top Architecture Tech Stack
Apr 11, 2025 · Backend Development

Understanding Apache Commons Lang StringUtils: isEmpty, isBlank and Related Utility Methods

This article explains the differences between the various Apache Commons Lang StringUtils methods such as isEmpty, isNotEmpty, isAnyEmpty, isNoneEmpty, isBlank, isNotBlank, isAnyBlank, and isNoneBlank, provides example code snippets, and points to official documentation for deeper reference.

Apache Commons LangBackend DevelopmentJava
0 likes · 7 min read
Understanding Apache Commons Lang StringUtils: isEmpty, isBlank and Related Utility Methods
Java Architect Essentials
Java Architect Essentials
Apr 10, 2025 · Backend Development

Master Dynamic Data Source Switching in SpringBoot: A Step‑by‑Step Guide

This article walks through the complete process of implementing dynamic data source switching in a SpringBoot application, covering the core concepts of thread‑local context, abstract routing, custom annotations with AOP, configuration, code examples, and important considerations such as transaction management and performance.

AOPDatabaseJava
0 likes · 6 min read
Master Dynamic Data Source Switching in SpringBoot: A Step‑by‑Step Guide
Alimama Tech
Alimama Tech
Apr 10, 2025 · Big Data

Performance Optimization of Apache Paimon in Dolphin OLAP Engine

The article details how Apache Paimon, integrated as an external table format in Alibaba’s Dolphin OLAP engine, achieves millisecond‑level query latency and up to 10k QPS through ORC push‑down, manifest conversion, caching, concurrency, and encoding optimizations, outperforming StarRocks and Hologres.

DolphinJavaMetadata
0 likes · 17 min read
Performance Optimization of Apache Paimon in Dolphin OLAP Engine
Top Architect
Top Architect
Apr 10, 2025 · Backend Development

Using Spring 6 HTTP Interface (GetExchange) to Build a Demo Service

This article introduces Spring 6's new HTTP Interface feature with a step‑by‑step demo, explains the GetExchange annotation and service creation, and then shifts to promote AI‑related products and community offers, including code snippets and deployment instructions.

Backend DevelopmentGetExchangeJava
0 likes · 11 min read
Using Spring 6 HTTP Interface (GetExchange) to Build a Demo Service
JD Tech Talk
JD Tech Talk
Apr 10, 2025 · Backend Development

Proper RPC Interface Design: Avoiding Result Wrappers and Using Exceptions

The article explains why designing RPC interfaces with generic Result objects that contain errorCode, errorMessage and data defeats RPC's purpose, and demonstrates how returning plain business objects and leveraging Java exceptions leads to cleaner, more maintainable backend code.

JavaRPCSoftware Architecture
0 likes · 8 min read
Proper RPC Interface Design: Avoiding Result Wrappers and Using Exceptions
JD Cloud Developers
JD Cloud Developers
Apr 10, 2025 · Backend Development

Why Your RPC Interfaces Should Avoid HTTP‑Style Responses

This article explains why designing RPC (JSF) interfaces to return HTTP‑like result objects with errorCode, errorMessage, and data defeats the purpose of RPC, and it offers concrete guidelines and Java examples for building clean, exception‑driven RPC APIs.

JavaRPCexception handling
0 likes · 10 min read
Why Your RPC Interfaces Should Avoid HTTP‑Style Responses
Pan Zhi's Tech Notes
Pan Zhi's Tech Notes
Apr 10, 2025 · Backend Development

Hands‑On Guide: Build Your Own Code Generator (Can You Keep Up?)

This article walks through why repetitive CRUD code wastes development time, reviews existing generators like MyBatis‑Generator and MyBatis‑Plus, and then demonstrates step‑by‑step how to create a custom Java code generator using Freemarker, Maven, and SpringBoot, complete with template and demo code.

FreemarkerJavaMyBatis
0 likes · 11 min read
Hands‑On Guide: Build Your Own Code Generator (Can You Keep Up?)
dbaplus Community
dbaplus Community
Apr 9, 2025 · Backend Development

How DDD and Hexagonal Architecture Revamp Huolala’s CRM System

This article explores how Domain‑Driven Design and hexagonal (clean) architecture were applied to Huolala’s user CRM, detailing the tactical design patterns, module breakdown, code examples, and the step‑by‑step migration that improved scalability, maintainability, and development efficiency.

DDDDomain-Driven DesignJava
0 likes · 43 min read
How DDD and Hexagonal Architecture Revamp Huolala’s CRM System
Top Architect
Top Architect
Apr 9, 2025 · Backend Development

Spring Utility Classes Overview: Assertions, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ReflectionUtils, and AOP Utilities

This article provides a comprehensive guide to Spring's built‑in utility classes—including Assert, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ReflectionUtils, and AopUtils—showing their purpose, typical usage patterns, and example method signatures for developers working on Java backend projects.

AOPJavaReflection
0 likes · 17 min read
Spring Utility Classes Overview: Assertions, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ReflectionUtils, and AOP Utilities
Java Captain
Java Captain
Apr 9, 2025 · Backend Development

Implementing Dynamic MySQL Master‑Slave Data Source Switching in SpringBoot with AOP and Custom Annotations

This tutorial explains how to use SpringBoot, AOP, and a custom @DataSource annotation to dynamically switch between MySQL master and slave databases—covering configuration, code implementation, multiple slave handling, and an Oracle example—to ensure high availability and flexible data source management.

AOPJavaMaster‑Slave
0 likes · 13 min read
Implementing Dynamic MySQL Master‑Slave Data Source Switching in SpringBoot with AOP and Custom Annotations
Code Ape Tech Column
Code Ape Tech Column
Apr 9, 2025 · Backend Development

Using @JsonView in Spring to Control JSON Serialization of Fields

This article explains how the Jackson @JsonView annotation can be used in Spring back‑end projects to selectively serialize object fields, reduce bandwidth, improve security, and handle nested associations by defining view interfaces and applying them on entity fields and controller methods.

@JsonViewJavaREST
0 likes · 8 min read
Using @JsonView in Spring to Control JSON Serialization of Fields
IT Services Circle
IT Services Circle
Apr 9, 2025 · Backend Development

Practical Guide to Rate Limiting: Algorithms, Implementation, and Production Cases

This article explains the fundamentals and practical implementations of common rate‑limiting algorithms—including fixed‑window, sliding‑window, leaky‑bucket, and token‑bucket—provides Java and Redis code samples, discusses their advantages, pitfalls, and real‑world production scenarios, and offers performance‑tuning tips.

Javabackend algorithmsdistributed systems
0 likes · 10 min read
Practical Guide to Rate Limiting: Algorithms, Implementation, and Production Cases
Su San Talks Tech
Su San Talks Tech
Apr 9, 2025 · Backend Development

Avoid These 7 Common Java Stream Mistakes for Cleaner, Faster Code

Learn the seven most frequent Java Stream pitfalls—from missing terminal operations and modifying source data to overusing intermediate steps and thread‑safety issues—and discover practical fixes that ensure your streams execute correctly, efficiently, and safely.

JavaPerformanceStream API
0 likes · 11 min read
Avoid These 7 Common Java Stream Mistakes for Cleaner, Faster Code
FunTester
FunTester
Apr 9, 2025 · Backend Development

Understanding Future and CompletableFuture in Java for Asynchronous Programming

This article explains the concepts, differences, and practical usage of Java's Future and CompletableFuture for asynchronous programming, highlighting their blocking behavior, task composition, exception handling, and suitable scenarios in performance testing and complex test workflows, with detailed code examples.

CompletableFutureFutureJava
0 likes · 14 min read
Understanding Future and CompletableFuture in Java for Asynchronous Programming
Code Ape Tech Column
Code Ape Tech Column
Apr 8, 2025 · Backend Development

Spring Integration: Core Concepts, Configuration, and Practical Use Cases

This article introduces Spring Integration, explains its fundamental concepts such as messages, channels, endpoints, adapters, filters and transformers, compares it with traditional middleware, and provides detailed XML and Java configuration examples, design‑pattern guidance, interceptor usage, and a complete order‑processing implementation.

Enterprise IntegrationJavaMessage Channels
0 likes · 18 min read
Spring Integration: Core Concepts, Configuration, and Practical Use Cases
JD Tech Talk
JD Tech Talk
Apr 8, 2025 · Fundamentals

Performance Comparison of String Replacement Algorithms in Java

The article analyzes various Java string‑replacement techniques—including simple String.replace, compiled regular expressions, Aho‑Corasick automaton, and custom Trie implementations—by presenting their designs, object sizes, and benchmark results to guide developers in choosing the most efficient solution for large keyword sets.

Aho-CorasickJavaPerformance
0 likes · 13 min read
Performance Comparison of String Replacement Algorithms in Java
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Apr 8, 2025 · Backend Development

How to Prevent Message Loss in RabbitMQ: Producer, Server, and Consumer Strategies

This article explains why messages can be lost in RabbitMQ at the producer, broker, or consumer stages and provides concrete techniques—including confirm mode, transaction handling, persistence settings, manual acknowledgments, and retry mechanisms with dead‑letter queues—to ensure reliable delivery.

JavaMessage QueueMessage reliability
0 likes · 11 min read
How to Prevent Message Loss in RabbitMQ: Producer, Server, and Consumer Strategies
Top Architect
Top Architect
Apr 7, 2025 · Backend Development

Integrating Spring Boot Services with Model Context Protocol (MCP) for AI‑Driven Book Management

This article demonstrates how to convert a traditional Spring Boot book‑management service into an AI‑enabled MCP server, covering dependency setup, entity definition, tool annotations, MCP configuration, chat client integration, data initialization, and testing, with complete code examples.

AI integrationBackend DevelopmentChatClient
0 likes · 17 min read
Integrating Spring Boot Services with Model Context Protocol (MCP) for AI‑Driven Book Management
macrozheng
macrozheng
Apr 7, 2025 · Big Data

How to Deduplicate 4 Billion QQ Numbers Using a Bitmap Under 1 GB

This article explains how to efficiently remove duplicates from 4 billion QQ numbers within a 1 GB memory limit by replacing the naïve HashSet approach with a memory‑saving Bitmap data structure, complete with calculations, algorithm steps, Java code, and a discussion of its pros and cons.

DeduplicationJavaMemory optimization
0 likes · 9 min read
How to Deduplicate 4 Billion QQ Numbers Using a Bitmap Under 1 GB
Java Architect Essentials
Java Architect Essentials
Apr 7, 2025 · Backend Development

Advanced MyBatis Dynamic SQL Techniques: foreach, if, choose, trim, selectKey, and SQL Fragments

This article provides a comprehensive guide to MyBatis dynamic SQL tags—including foreach, if, choose, trim, selectKey, and reusable SQL fragments—explaining their attributes, usage patterns, and code examples to help developers write cleaner, more reliable XML mappers and avoid common pitfalls.

Backend DevelopmentDynamic SQLJava
0 likes · 19 min read
Advanced MyBatis Dynamic SQL Techniques: foreach, if, choose, trim, selectKey, and SQL Fragments
Architect
Architect
Apr 6, 2025 · Information Security

Technical Selection and Implementation of Authentication: JWT vs Session

This article compares JWT and session-based authentication, detailing their differences, certification processes, advantages, disadvantages, security considerations, performance impacts, token renewal, and revocation strategies, and provides a complete Java implementation using Spring, Redis, and custom utility classes.

JWTJavaRedis
0 likes · 12 min read
Technical Selection and Implementation of Authentication: JWT vs Session
Top Architect
Top Architect
Apr 6, 2025 · Backend Development

Comprehensive Guide to Using IntelliJ IDEA Debug Features

This tutorial provides a thorough walkthrough of IntelliJ IDEA's Debug functionality, covering preparation, main interface, detailed explanations of service and debug buttons, variable inspection and modification, conditional breakpoints, expression evaluation, frame dropping, force return, multithreaded and Stream debugging, as well as remote debugging techniques.

IDEIntelliJ IDEAJava
0 likes · 20 min read
Comprehensive Guide to Using IntelliJ IDEA Debug Features
IT Services Circle
IT Services Circle
Apr 6, 2025 · Fundamentals

Comprehensive Guide to Technical Interview Topics: Signals, Process Synchronization, TLS Handshake, Caching Issues, Java Collections, Heap Construction, and Scheduling Algorithms

This article provides an extensive overview of core technical interview subjects—including operating‑system signals, process synchronization and data transfer methods, TLS encryption steps, common caching pitfalls and remedies, Java collection implementations, heap‑building algorithms, and various CPU scheduling strategies—offering concise explanations and practical code examples for each concept.

Javaalgorithmsoperating system
0 likes · 28 min read
Comprehensive Guide to Technical Interview Topics: Signals, Process Synchronization, TLS Handshake, Caching Issues, Java Collections, Heap Construction, and Scheduling Algorithms
Architect's Guide
Architect's Guide
Apr 6, 2025 · Databases

Analyzing MySQL Connection Latency in Java Applications

This article investigates the time cost of establishing and closing MySQL connections in Java web applications, using Wireshark packet captures and code examples to demonstrate that a single connection can take over 200 ms, highlighting the importance of connection pooling and performance optimizations.

Connection PoolingDatabase ConnectionJava
0 likes · 7 min read
Analyzing MySQL Connection Latency in Java Applications
FunTester
FunTester
Apr 6, 2025 · Backend Development

Understanding Java ClassLoader: Common Issues, Root Causes, and Solutions

This article explains Java's dynamic ClassLoader mechanism, outlines the hierarchy of built‑in loaders, details frequent problems such as ClassNotFoundException, NoClassDefFoundError, ClassCastException and version conflicts, and provides practical troubleshooting steps and best‑practice recommendations for reliable class loading.

CustomClassLoaderJVMJava
0 likes · 10 min read
Understanding Java ClassLoader: Common Issues, Root Causes, and Solutions
Architect
Architect
Apr 5, 2025 · Backend Development

Mastering WebSocket Integration in Spring Boot: Javax, WebMVC & WebFlux

This article compares six WebSocket integration approaches—Javax, WebMVC, WebFlux, Java-WebSocket, SocketIO, and Netty—showing how to configure both server and client sides in Spring Boot, with step‑by‑step code examples, key annotations, and practical tips for each method.

Backend DevelopmentJavaJavax
0 likes · 17 min read
Mastering WebSocket Integration in Spring Boot: Javax, WebMVC & WebFlux
FunTester
FunTester
Apr 5, 2025 · Cloud Native

Using Fabric8 OpenShift Client DSL to Manage OpenShift Resources

This guide demonstrates how to use the Fabric8 OpenShift client DSL in Java to initialize an OpenShift client, create and manage resources such as DeploymentConfig, Route, BuildConfig, Project, ImageStream, and various policies, and perform listing and deletion operations with code examples.

Client DSLFabric8Java
0 likes · 11 min read
Using Fabric8 OpenShift Client DSL to Manage OpenShift Resources
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Apr 4, 2025 · Backend Development

Master Spring Boot Transaction Event Listeners: Code Samples & Real-World Use Cases

This article explains how to decouple business logic using Spring Boot transaction event listeners, demonstrates both manual TransactionSynchronization and @TransactionalEventListener implementations with full code examples, and shows a practical user‑registration scenario that avoids common pitfalls.

Backend DevelopmentJavaSpring Boot
0 likes · 9 min read
Master Spring Boot Transaction Event Listeners: Code Samples & Real-World Use Cases
Su San Talks Tech
Su San Talks Tech
Apr 4, 2025 · Backend Development

Master Ant Group Backend Interview: Java, MySQL, TCP, Zookeeper & Redis Secrets

This article walks through Ant Group's bonus structure, explains Java heap vs stack, String object creation, TCP packet issues, MySQL index types, B+‑tree advantages, database lock mechanisms, and shows how Zookeeper and Redis implement distributed coordination and locking, providing concrete code examples and best‑practice recommendations.

JavaMySQLTCP
0 likes · 27 min read
Master Ant Group Backend Interview: Java, MySQL, TCP, Zookeeper & Redis Secrets
FunTester
FunTester
Apr 4, 2025 · Cloud Native

Using the Kubernetes Java Client: CSR, SharedInformers, ListOptions, DeleteOptions, WatchOptions, LogOptions and Resource Operations

This article explains how to use the Kubernetes Java client to create, approve, and deny CertificateSigningRequests, work with SharedInformers, list and delete resources with ListOptions and DeleteOptions, watch resources, retrieve logs, serialize objects to YAML, and run Pods, providing practical code examples and best‑practice recommendations.

CSRJavaKubernetes
0 likes · 7 min read
Using the Kubernetes Java Client: CSR, SharedInformers, ListOptions, DeleteOptions, WatchOptions, LogOptions and Resource Operations