Tagged articles

Java

5000 articles · Page 42 of 50
Cognitive Technology Team
Cognitive Technology Team
Jun 23, 2024 · Fundamentals

Understanding Fail-Fast Iterators and ConcurrentModificationException in Java Collections

The article explains why fail‑fast iterators throw ConcurrentModificationException when a collection is modified during iteration, outlines two common scenarios that trigger the exception, and presents both incorrect and correct Java code examples along with strategies such as avoiding modifications, using synchronization, iterator.remove(), or switching to fail‑safe concurrent collections.

CollectionsConcurrentModificationExceptionFail-Fast Iterator
0 likes · 5 min read
Understanding Fail-Fast Iterators and ConcurrentModificationException in Java Collections
Cognitive Technology Team
Cognitive Technology Team
Jun 23, 2024 · Backend Development

Customizing Thread Pools for Java parallelStream to Improve Performance and Isolation

This article explains how Java's parallelStream uses the shared ForkJoinPool, why developers may need to customize the thread pool for better performance and isolation, and provides two approaches—setting the system property and creating a dedicated ForkJoinPool—along with complete code examples and execution results.

ForkJoinPoolJavaPerformance
0 likes · 4 min read
Customizing Thread Pools for Java parallelStream to Improve Performance and Isolation
Architect
Architect
Jun 22, 2024 · Backend Development

Master Druid: Configure, Monitor, and Optimize Spring Boot Data Sources

This guide explains how to integrate Alibaba's Druid connection pool into Spring Boot, covering basic concepts, Maven dependencies, essential configuration properties, built‑in filters, monitoring pages, SQL and slow‑query logging, Spring AOP monitoring, ad removal, and programmatic access to Druid statistics.

Connection PoolDatabase MonitoringDruid
0 likes · 16 min read
Master Druid: Configure, Monitor, and Optimize Spring Boot Data Sources
IT Services Circle
IT Services Circle
Jun 22, 2024 · Backend Development

Comprehensive Guide to Java Backend Interview Topics: Object Creation, Reflection, Serialization, GC, I/O Multiplexing, and Network Troubleshooting

This article provides an in-depth review of common Java backend interview questions, covering alternative object creation methods, practical reflection scenarios, serialization techniques, garbage‑collection algorithms, I/O multiplexing mechanisms, network port listening, and troubleshooting tips for server‑client communication issues.

Garbage CollectionI/O multiplexingJava
0 likes · 24 min read
Comprehensive Guide to Java Backend Interview Topics: Object Creation, Reflection, Serialization, GC, I/O Multiplexing, and Network Troubleshooting
Top Architect
Top Architect
Jun 22, 2024 · Backend Development

Understanding Idempotency and Its Implementation with Custom Annotations in Java

This article explains the concept of idempotency, identifies which HTTP requests are naturally idempotent, discusses why idempotency is essential for retries, async callbacks, and message queues, and demonstrates a practical Java implementation using custom annotations, AOP, and Redis for token management.

AOPJavaRedis
0 likes · 11 min read
Understanding Idempotency and Its Implementation with Custom Annotations in Java
Su San Talks Tech
Su San Talks Tech
Jun 22, 2024 · Backend Development

How to Speed Up Excel-to-Database Imports with Async and Thread‑Pool Tuning in Java

This article explains the common slow approach of reading Excel files with POI and inserting rows via JDBC, then presents three practical optimizations—caching data, using asynchronous multithreaded reads, and per‑file async processing—along with thread‑pool configuration tips and EasyExcel examples to dramatically reduce import time from minutes to seconds.

AsyncExcelJava
0 likes · 17 min read
How to Speed Up Excel-to-Database Imports with Async and Thread‑Pool Tuning in Java
JD Tech
JD Tech
Jun 21, 2024 · Operations

Deep Dive into pfinder: Architecture, Features, and Bytecode Instrumentation

This article provides a comprehensive technical overview of pfinder, a Java‑based APM system, covering its core concepts, feature set, comparison with other tracing tools, bytecode instrumentation techniques, plugin architecture, trace‑ID propagation across threads, and a simple hot‑deployment implementation.

APMAgentBytecodeInstrumentation
0 likes · 22 min read
Deep Dive into pfinder: Architecture, Features, and Bytecode Instrumentation
Top Architect
Top Architect
Jun 21, 2024 · Backend Development

Deep Dive into Spring Boot Startup Sequence and Extension Points

This article provides a comprehensive explanation of Spring Boot's startup process, detailing each lifecycle extension point, the order of execution, common pitfalls with RPC/MQ/HTTP traffic, and includes runnable code examples to help developers master Spring initialization.

DependencyInjectionJavaLifecycle
0 likes · 15 min read
Deep Dive into Spring Boot Startup Sequence and Extension Points
macrozheng
macrozheng
Jun 21, 2024 · Backend Development

Master MyBatis Dynamic SQL: 9 Essential Tag Techniques for Cleaner Code

This article walks through MyBatis dynamic SQL tags—foreach, concat, choose, selectKey, if, where, trim, set, and sql fragments—explaining their attributes, usage patterns, and common pitfalls, and provides complete XML and Java code examples for each technique.

Dynamic SQLJavaMyBatis
0 likes · 20 min read
Master MyBatis Dynamic SQL: 9 Essential Tag Techniques for Cleaner Code
Programmer DD
Programmer DD
Jun 21, 2024 · Backend Development

Build a Lightweight Java Logging System with Loki, Loki4j, and Grafana

Learn how to set up a simple yet powerful Java logging solution by installing Loki and Grafana via Docker, configuring Loki4j in a Spring Boot project, and visualizing logs in Grafana dashboards, with step‑by‑step instructions and essential code snippets.

DockerGrafanaJava
0 likes · 8 min read
Build a Lightweight Java Logging System with Loki, Loki4j, and Grafana
Architecture Digest
Architecture Digest
Jun 21, 2024 · Artificial Intelligence

Getting Started with Spring Cloud Alibaba AI: Integrating Tongyi Large Models in Spring Boot

This article introduces Spring Cloud Alibaba AI, explains its relationship to Spring AI, and provides a step‑by‑step tutorial—including Maven setup, dependency configuration, code examples, and sample calls—to integrate Alibaba's Tongyi large‑model services for text QA, image generation, and speech synthesis in a Java Spring Boot application.

AI integrationAlibaba CloudJava
0 likes · 11 min read
Getting Started with Spring Cloud Alibaba AI: Integrating Tongyi Large Models in Spring Boot
Code Ape Tech Column
Code Ape Tech Column
Jun 21, 2024 · Backend Development

Debugging a 100 ms Latency Bug in a Spring Boot Channel System Using Arthas

This article documents the step‑by‑step investigation of an unexpected ~100 ms response delay in a Spring Boot channel service, showing how network checks, curl tests, Arthas trace/stack commands, and source analysis revealed a Tomcat‑embed bug caused by Swagger‑ui resources and how upgrading Tomcat resolved the issue.

ArthasJavaPerformance debugging
0 likes · 14 min read
Debugging a 100 ms Latency Bug in a Spring Boot Channel System Using Arthas
Lobster Programming
Lobster Programming
Jun 21, 2024 · Backend Development

How to Implement Efficient Large File Chunked Download with Java and MinIO

Learn how to download massive files—such as multi‑gigabyte videos—by splitting them into chunks using HTTP Range headers, implementing a Java Spring backend with MinIO storage, multi‑threaded retrieval, and seamless merging, while also handling breakpoint resume and Swagger documentation.

Breakpoint ResumeChunked DownloadHTTP Range
0 likes · 13 min read
How to Implement Efficient Large File Chunked Download with Java and MinIO
Top Architect
Top Architect
Jun 20, 2024 · Backend Development

When and How to Use Null Checks in Java: Best Practices and Alternatives

This article discusses the proper use of null‑checking in Java, distinguishes between valid and invalid null returns, proposes alternatives such as returning empty collections, using assertions or throwing exceptions, and demonstrates the Null Object pattern with concrete code examples while also noting related community resources.

Defensive ProgrammingJavaNull Object
0 likes · 9 min read
When and How to Use Null Checks in Java: Best Practices and Alternatives
Huolala Tech
Huolala Tech
Jun 20, 2024 · Backend Development

Why Our Core Service Crashed: Tomcat Thread Pool Bottlenecks & Custom Executor Pitfalls

On October 27, 2023, a sudden surge in request volume and downstream latency caused the bfe‑customer‑application‑query‑svc to exhaust its Tomcat thread pool, triggering health‑check failures and pod restarts; a deep dive revealed that an ill‑designed custom executor and unchecked thread‑waiting calls created a bottleneck that amplified the outage.

ExecutorIncidentAnalysisJava
0 likes · 36 min read
Why Our Core Service Crashed: Tomcat Thread Pool Bottlenecks & Custom Executor Pitfalls
Code Ape Tech Column
Code Ape Tech Column
Jun 20, 2024 · Backend Development

Implementation of Contract Signing Process Using Chain of Responsibility, Strategy, and Composite Patterns in Java

This article explains a Java-based contract signing system that combines the Chain of Responsibility, Composite, and Strategy design patterns within a Spring Boot application, detailing the processing flow, project structure, key code implementations, and how annotations and enums simplify bean injection.

Chain of ResponsibilityDesign PatternsJava
0 likes · 16 min read
Implementation of Contract Signing Process Using Chain of Responsibility, Strategy, and Composite Patterns in Java
Architect
Architect
Jun 19, 2024 · Information Security

Implementing RSA and AES Hybrid Encryption for API Security in Java

This article describes a real‑world API security incident, explains the fundamentals of asymmetric RSA and symmetric AES encryption, and provides a complete Java implementation—including a hybrid encryption strategy, custom @RequestRSA annotation, Spring AOP decryption aspect, and utility classes—to securely transmit and automatically decrypt request parameters.

AESEncryptionJava
0 likes · 23 min read
Implementing RSA and AES Hybrid Encryption for API Security in Java
vivo Internet Technology
vivo Internet Technology
Jun 19, 2024 · Big Data

Understanding BitMap and Roaring BitMap: Principles, Containers, and Java API Usage

The article explains BitMap fundamentals and introduces Roaring BitMap’s compressed container architecture—Array, BitMap, and Run containers—detailing their conversion logic, Java implementation snippets, performance advantages over traditional BitSets, and practical API usage for high‑performance, memory‑efficient big‑data applications.

Big DataContainersJava
0 likes · 18 min read
Understanding BitMap and Roaring BitMap: Principles, Containers, and Java API Usage
Zhuanzhuan Tech
Zhuanzhuan Tech
Jun 19, 2024 · Backend Development

Designing Visual Workflow Orchestration with LiteFlow: From Basic Components to Advanced AST Generation

This article explains how to use the LiteFlow rule‑engine framework to define reusable Java components, express execution flows with EL expressions, design a visual canvas that converts JSON into an abstract syntax tree, generate valid EL code via DFS, and manage workflow updates through push‑pull refresh mechanisms, while also outlining benefits and future plans.

ASTEL expressionJava
0 likes · 18 min read
Designing Visual Workflow Orchestration with LiteFlow: From Basic Components to Advanced AST Generation
Bin's Tech Cabin
Bin's Tech Cabin
Jun 19, 2024 · Fundamentals

Why PhantomReference Can Track GC While WeakReference Can’t in ZGC

Exploring the differences between PhantomReference and WeakReference in Java’s ZGC, this article explains how ZGC’s concurrent phases and the should_drop method use distinct bitmap bits to determine object liveness, revealing why only PhantomReference reliably tracks object reclamation in certain finalization scenarios.

Garbage CollectionJVMJava
0 likes · 11 min read
Why PhantomReference Can Track GC While WeakReference Can’t in ZGC
Top Architect
Top Architect
Jun 19, 2024 · Backend Development

Standardizing Java API Interfaces and Controller Practices with ResultBean and AOP

The article explains common pitfalls in Java API design—such as inconsistent return formats, missing error handling, unnecessary parameters, and complex inputs—then proposes a unified ResultBean response model, controller conventions, and AOP-based logging and exception handling to improve code readability and maintainability.

AOPAPI designController
0 likes · 12 min read
Standardizing Java API Interfaces and Controller Practices with ResultBean and AOP
Selected Java Interview Questions
Selected Java Interview Questions
Jun 19, 2024 · Backend Development

PowerJob: Introduction, Installation, and Task Configuration Guide

This article introduces the PowerJob Java distributed scheduling framework, explains its features and task types, provides step‑by‑step installation via JAR and Docker, demonstrates database setup, server and worker configuration, and details how to create and configure scheduled tasks with code examples.

Distributed SchedulingJavaPowerJob
0 likes · 11 min read
PowerJob: Introduction, Installation, and Task Configuration Guide
macrozheng
macrozheng
Jun 19, 2024 · Backend Development

Master CheckStyle in IntelliJ IDEA: Step-by-Step Guide to Clean Java Code

This guide walks you through installing and configuring the CheckStyle plugin in IntelliJ IDEA, explains how to import custom rule sets, and details common style violations such as missing annotations, spacing, naming, formatting, logical errors, and import order, offering practical fixes to keep Java code clean and consistent.

Code styleIntelliJ IDEAJava
0 likes · 4 min read
Master CheckStyle in IntelliJ IDEA: Step-by-Step Guide to Clean Java Code
Architecture & Thinking
Architecture & Thinking
Jun 19, 2024 · Artificial Intelligence

Build AI‑Native Apps Quickly with Spring AI: From Chat Models to RAG

This guide explains what an AI‑native application is, compares AI‑native and AI‑based approaches, and walks through Spring AI’s core features—including chat models, prompt templates, function calling, structured output, image generation, embedding, and vector stores—showing step‑by‑step code examples and how to assemble a complete AI‑native app with RAG support.

AI native applicationFunction CallingJava
0 likes · 43 min read
Build AI‑Native Apps Quickly with Spring AI: From Chat Models to RAG
Code Ape Tech Column
Code Ape Tech Column
Jun 19, 2024 · Backend Development

Implementing Gray Release (Canary Deployment) in Spring Cloud with Nacos and Ribbon

This article explains how to implement a gray (canary) release strategy in a Spring Cloud microservice ecosystem using Nacos for service discovery, Spring Cloud Gateway for request routing, Ribbon for load balancing, and custom filters and interceptors to control traffic based on request headers, IP, city or user ID.

Canary DeploymentJavaRibbon
0 likes · 20 min read
Implementing Gray Release (Canary Deployment) in Spring Cloud with Nacos and Ribbon
Java Architect Essentials
Java Architect Essentials
Jun 18, 2024 · Backend Development

Resolving MyBatis‑Plus LocalDateTime Conversion Errors by Upgrading MySQL Connector

This article explains why replacing MyBatis with MyBatis‑Plus caused a LocalDateTime conversion exception, identifies the root cause as an outdated mysql‑connector‑java version, and shows how upgrading the connector (to 5.1.37 or later) resolves the issue while providing code examples and debugging steps.

Backend DevelopmentJavaMySQL
0 likes · 16 min read
Resolving MyBatis‑Plus LocalDateTime Conversion Errors by Upgrading MySQL Connector
macrozheng
macrozheng
Jun 18, 2024 · Backend Development

How to Implement Robust API Debounce with Redis and Redisson in Spring Boot 3

This article explains why API debounce is essential, outlines which endpoints need it, describes how to generate unique keys, and provides complete implementations using Redis cache and Redisson distributed locks in a Spring Boot 3 backend, complete with testing results.

APIDistributed LockJava
0 likes · 17 min read
How to Implement Robust API Debounce with Redis and Redisson in Spring Boot 3
Bin's Tech Cabin
Bin's Tech Cabin
Jun 17, 2024 · Fundamentals

How Does Java’s FinalReference Keep Objects Alive During GC?

This article explains how the JVM creates and manages FinalReference objects, how they interact with the finalize() method, and how the ZGC and other GC phases discover, revive, and eventually reclaim objects, detailing the roles of ReferenceHandler, FinalizerThread, and related internal data structures.

FinalReferenceFinalizerThreadGarbage Collection
0 likes · 20 min read
How Does Java’s FinalReference Keep Objects Alive During GC?
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jun 17, 2024 · Backend Development

20 Essential Spring Boot Best Practices to Boost Your Java Backend

This article presents a comprehensive collection of Spring Boot best practices—including package structuring, design patterns, starter usage, dependency management, constructor injection, SLF4J logging, pagination, caching, exception handling, naming conventions, and code quality tools—to help developers build more efficient, maintainable, and robust Java backend applications.

Design PatternsJavaLogging
0 likes · 10 min read
20 Essential Spring Boot Best Practices to Boost Your Java Backend
AI Architecture Hub
AI Architecture Hub
Jun 17, 2024 · Backend Development

Master RabbitMQ: Core Concepts, Messaging Patterns, and Java Implementations

This article explains RabbitMQ’s architecture, details its core components, walks through the five main messaging patterns with visual diagrams, provides complete Java code examples for each pattern, and discusses reliability mechanisms such as acknowledgments, persistence, and practical use‑case scenarios.

Backend DevelopmentJavaMessage Queue
0 likes · 22 min read
Master RabbitMQ: Core Concepts, Messaging Patterns, and Java Implementations
FunTester
FunTester
Jun 17, 2024 · Backend Development

Mastering Java CompletableFuture: Simplify Asynchronous Programming

This article explains how Java's CompletableFuture extends traditional concurrency tools with rich APIs for parallel execution, chaining, error handling, and timeout management, providing clear code examples that demonstrate building maintainable asynchronous applications.

CompletableFutureExecutorServiceJava
0 likes · 10 min read
Mastering Java CompletableFuture: Simplify Asynchronous Programming
Java Architect Essentials
Java Architect Essentials
Jun 16, 2024 · Backend Development

Using URule Rule Engine with Spring Boot: Installation, Configuration, and Practical Examples

This article introduces the URule rule engine, explains its background, installation steps, core concepts such as variable, constant, parameter, and action libraries, demonstrates both wizard‑style and script‑style rule sets, and provides complete Spring Boot integration code with real‑world usage scenarios.

Backend DevelopmentDecision TableJava
0 likes · 15 min read
Using URule Rule Engine with Spring Boot: Installation, Configuration, and Practical Examples
dbaplus Community
dbaplus Community
Jun 16, 2024 · Backend Development

Building a Scalable MySQL Data Migration Service with Microservices and Design Patterns

This article presents a comprehensive guide to designing and implementing a Java‑based MySQL large‑table migration tool using microservice architecture, multiple design patterns, multithreading, custom logging, and flexible migration modes, complete with code snippets, repository links, and deployment considerations.

Data MigrationDesign PatternsJava
0 likes · 22 min read
Building a Scalable MySQL Data Migration Service with Microservices and Design Patterns
Code Ape Tech Column
Code Ape Tech Column
Jun 16, 2024 · Backend Development

Introducing PowerJob: A Lightweight Distributed Task Scheduling Framework and Its Usage

This article introduces PowerJob, a young yet mature distributed task scheduling framework, explains why it was chosen, details its architecture, high‑availability design, deployment steps, and demonstrates various job types—including standalone, broadcast, map, and MapReduce—along with CRON, fixed‑rate, and fixed‑delay scheduling configurations.

JavaMapReducePowerJob
0 likes · 13 min read
Introducing PowerJob: A Lightweight Distributed Task Scheduling Framework and Its Usage
Wukong Talks Architecture
Wukong Talks Architecture
Jun 16, 2024 · Backend Development

OpenFeign in Spring Cloud: Design Principles, Core Workflow, and Implementation Guide

This article explains the concept of remote calls, compares Feign and OpenFeign, walks through the step‑by‑step setup in a Spring Cloud project, and deeply analyzes the scanning, registration, dynamic proxy creation, MVC annotation parsing, request dispatch, Ribbon load‑balancing, and response handling mechanisms of OpenFeign.

JavaOpenFeignRemote Call
0 likes · 15 min read
OpenFeign in Spring Cloud: Design Principles, Core Workflow, and Implementation Guide
Architect's Guide
Architect's Guide
Jun 16, 2024 · Operations

How to Diagnose and Resolve 900% CPU Spikes in MySQL and Java Processes

This article explains common scenarios that cause MySQL or Java processes to consume 900% CPU, walks through step‑by‑step diagnosis using Linux tools, and provides concrete optimization techniques such as indexing, caching, thread analysis, and code adjustments to bring CPU usage back to normal levels.

CPUJavaLinux
0 likes · 11 min read
How to Diagnose and Resolve 900% CPU Spikes in MySQL and Java Processes
Java Architect Essentials
Java Architect Essentials
Jun 16, 2024 · Backend Development

Performance Comparison of String Concatenation Using '+' Operator vs StringBuilder in Java

This article examines the performance differences between using the '+' operator and StringBuilder for string concatenation in Java, presenting JUnit benchmark tests for simple concatenations and looped concatenations, analyzing compiled bytecode, and concluding that '+' is suitable for simple cases while StringBuilder excels in loops.

JUnitJavaPerformance
0 likes · 7 min read
Performance Comparison of String Concatenation Using '+' Operator vs StringBuilder in Java
Architect
Architect
Jun 15, 2024 · Fundamentals

Mastering the Chain of Responsibility: From Basics to Real-World Frameworks

This article explains the Chain of Responsibility pattern, compares self‑driven and handler‑driven implementations with Java code, and demonstrates how major frameworks such as Spring Interceptor, Servlet Filter, Dubbo, and Sentinel realize the pattern, followed by practical usage scenarios.

Chain of ResponsibilityDesign PatternsDubbo
0 likes · 25 min read
Mastering the Chain of Responsibility: From Basics to Real-World Frameworks
Pan Zhi's Tech Notes
Pan Zhi's Tech Notes
Jun 15, 2024 · Backend Development

Build a Button‑Level User Permission System Step‑by‑Step with Spring Boot & MyBatisPlus

This tutorial walks through designing a button‑level user permission system—including a five‑table database schema, Spring Boot + MyBatisPlus project setup, code generation, menu CRUD operations, recursive menu tree construction, role‑based permission queries, and annotation‑driven request authorization—complete with runnable code snippets and sample data.

Backend DevelopmentJavaMenu Authorization
0 likes · 18 min read
Build a Button‑Level User Permission System Step‑by‑Step with Spring Boot & MyBatisPlus
IT Services Circle
IT Services Circle
Jun 14, 2024 · Fundamentals

Understanding Floating‑Point Precision and Common Pitfalls in Java

The article explains why comparing floating‑point numbers with == in Java often yields unexpected results, describes the IEEE‑754 representation of float and double, demonstrates common pitfalls through code examples, and provides step‑by‑step methods for converting decimal fractions to binary.

IEEE 754Javabinary conversion
0 likes · 10 min read
Understanding Floating‑Point Precision and Common Pitfalls in Java
Top Architect
Top Architect
Jun 14, 2024 · Backend Development

Comprehensive Guide to Spring MVC, Bean, and Boot Annotations

This article provides a detailed overview of Spring MVC request‑mapping annotations, Spring Bean stereotypes, dependency‑injection and scope annotations, as well as Spring Boot conditional and lifecycle annotations, complete with code examples and usage tips for Java backend development.

JavaSpringSpring Boot
0 likes · 16 min read
Comprehensive Guide to Spring MVC, Bean, and Boot Annotations
Java Tech Enthusiast
Java Tech Enthusiast
Jun 14, 2024 · Fundamentals

Understanding and Using Java BigDecimal for Precise Calculations

Java's BigDecimal class offers arbitrary‑precision decimal arithmetic, requiring method calls like add, subtract, multiply, and divide instead of operators, and should be instantiated via String or valueOf to avoid double‑precision errors, with careful handling of scaling, rounding, formatting, and comparison for exact financial calculations.

ArithmeticBigDecimalJava
0 likes · 14 min read
Understanding and Using Java BigDecimal for Precise Calculations
IT Architects Alliance
IT Architects Alliance
Jun 14, 2024 · Backend Development

In‑Depth Explanation of Spring Boot Startup Sequence and Extension Points

This article thoroughly explains the Spring Boot startup sequence, detailing each lifecycle extension point, common pitfalls with early RPC, HTTP, and MQ traffic, and provides code examples and answers to eleven critical questions to help developers master Spring initialization and avoid runtime failures.

DependencyInjectionJavaLifecycle
0 likes · 13 min read
In‑Depth Explanation of Spring Boot Startup Sequence and Extension Points
Su San Talks Tech
Su San Talks Tech
Jun 14, 2024 · Backend Development

Master Java ThreadPoolExecutor: Interview Questions & Deep Dive

This article provides a comprehensive guide to Java thread pools, covering common interview questions, core parameters, execution flow, lock mechanisms, custom queue implementations, rejection policies, best practices, monitoring strategies, and dynamic tuning with DynamicTp, all illustrated with code examples and diagrams.

JUCJavaThreadPool
0 likes · 33 min read
Master Java ThreadPoolExecutor: Interview Questions & Deep Dive
JD Tech
JD Tech
Jun 13, 2024 · Backend Development

Investigation of Log4j2 Asynchronous Logging Memory Growth and Mitigation Strategies

This article analyzes the memory increase observed after enabling Log4j2 asynchronous logging in Java services, examines root causes such as thread‑local reuse and large char[] allocations, and presents configuration and code changes—including disabling thread‑locals and limiting message size—to prevent heap growth and improve performance.

Asynchronous LoggingJVMJava
0 likes · 18 min read
Investigation of Log4j2 Asynchronous Logging Memory Growth and Mitigation Strategies
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Jun 13, 2024 · Backend Development

Comprehensive Guide to Parameter Validation in Spring Boot Backend Development

This article explains why parameter validation is essential in Java web development, compares traditional manual checks with validator libraries, demonstrates practical usage of Bean Validation, Hibernate‑Validator, and Spring Boot starter‑validation, and covers advanced topics such as nested validation, group validation, custom constraints, and the underlying validation mechanism.

Hibernate ValidatorJavaSpring Boot
0 likes · 32 min read
Comprehensive Guide to Parameter Validation in Spring Boot Backend Development
Code Ape Tech Column
Code Ape Tech Column
Jun 13, 2024 · Backend Development

Dynamic Switching Between Spring @Scheduled and XXL‑JOB with Automatic Task Registration

This article explains how to flexibly switch between Spring's built‑in @Scheduled tasks and XXL‑JOB implementations without changing existing code, by using conditional auto‑configuration, annotation scanning, task registration, log redirection, and a ready‑to‑use starter, complete with configuration examples and runtime verification.

Auto-ConfigurationJavaSpring Boot
0 likes · 22 min read
Dynamic Switching Between Spring @Scheduled and XXL‑JOB with Automatic Task Registration
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jun 13, 2024 · Backend Development

Master SpringBoot 3.2.5: 9 Essential Techniques to Access Request Data

This tutorial demonstrates nine practical ways to handle SpringBoot 3.2.5 request data, including Optional‑wrapped parameters, direct Servlet API access, retrieving the authenticated Principal, extracting method and locale, reading InputStream, using HttpEntity for headers and body, building request URIs, handling multipart parts, and passing flash attributes on redirects.

Javabackendmultipart
0 likes · 7 min read
Master SpringBoot 3.2.5: 9 Essential Techniques to Access Request Data
Top Architect
Top Architect
Jun 12, 2024 · Information Security

Understanding RBAC and Implementing Spring Security with JWT

This article explains the fundamentals of Role‑Based Access Control (RBAC), its model classifications, permission concepts, and user‑group usage, then demonstrates how to implement RBAC in a Spring Security application, including in‑memory authentication, JWT integration, JSON login, and password encryption techniques.

Access ControlJWTJava
0 likes · 17 min read
Understanding RBAC and Implementing Spring Security with JWT
Su San Talks Tech
Su San Talks Tech
Jun 12, 2024 · Backend Development

Master MyBatis Dynamic SQL: 9 Essential Tags and Best Practices

This article explains how to use MyBatis dynamic SQL tags—including foreach, concat, choose, selectKey, if, where, set, trim, and sql fragments—providing clear examples and tips to write concise, error‑free XML mappings for Java backend applications.

Dynamic SQLJavaMyBatis
0 likes · 17 min read
Master MyBatis Dynamic SQL: 9 Essential Tags and Best Practices
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jun 12, 2024 · Backend Development

Fixing Spring Boot 3 Deadlock: Reproduce, Analyze, and Resolve Custom Event Publishing Issues

This article demonstrates how a custom event published from a constructor in Spring Boot 3.2.5 can cause a deadlock, explains the underlying lock contention, and provides two solutions: using SmartInitializingSingleton to defer publishing and upgrading to Spring 6.2's multithreaded bean initialization.

DeadlockJavacustom-event
0 likes · 6 min read
Fixing Spring Boot 3 Deadlock: Reproduce, Analyze, and Resolve Custom Event Publishing Issues
Java Architect Essentials
Java Architect Essentials
Jun 11, 2024 · Backend Development

Why Consistent API Responses Matter: A Java Controller & AOP Guide

The article explains common pitfalls in Java API design—such as inconsistent return formats, missing error handling, irrelevant parameters, and improper use of maps or JSON strings—and demonstrates how adopting a unified ResultBean structure together with AOP can improve readability, error management, and testability of backend services.

AOPAPI designController
0 likes · 10 min read
Why Consistent API Responses Matter: A Java Controller & AOP Guide
Architect
Architect
Jun 11, 2024 · Backend Development

Mastering Spring Boot Startup: 11 Critical Questions & Execution Order

This article provides a deep technical analysis of Spring Boot's startup process, explains every relevant extension point, demonstrates how to log and verify execution order with sample code, answers eleven common questions about bean initialization, and offers practical guidance on when to safely open RPC, MQ, and HTTP traffic.

AutowiredBean LifecycleCommandLineRunner
0 likes · 17 min read
Mastering Spring Boot Startup: 11 Critical Questions & Execution Order
Top Architect
Top Architect
Jun 11, 2024 · Backend Development

Dynamic Class Loading, Registration, and Unloading for Data Governance Tasks in a Spring‑XXL‑Job Service

This article explains how to design a plug‑in architecture for a data‑governance service by using a custom URLClassLoader, Spring bean registration, and XXL‑Job integration to dynamically load, start, stop, upgrade, and unload individual governance tasks without restarting the whole service, and also shows how to persist the configuration in local YAML or Nacos.

DynamicLoadingJavaSpring
0 likes · 22 min read
Dynamic Class Loading, Registration, and Unloading for Data Governance Tasks in a Spring‑XXL‑Job Service
Java Tech Enthusiast
Java Tech Enthusiast
Jun 11, 2024 · Backend Development

Hot‑Pluggable AOP: Dynamic Advice Management in Spring

The article shows how to implement a hot‑plug AOP system in Spring that lets users enable or disable logging at runtime by scanning, registering, and deregistering Advice/Advisor/Pointcut beans through the bean factory, demonstrated with a REST endpoint that adds or removes a logging interceptor.

Dynamic PluginJavaSpring AOP
0 likes · 9 min read
Hot‑Pluggable AOP: Dynamic Advice Management in Spring
Java Architect Essentials
Java Architect Essentials
Jun 10, 2024 · Backend Development

Designing an Excellent Controller Layer in Java Spring

This article explains how to build a clean, maintainable Controller layer in Java Spring by separating responsibilities, using unified response structures, applying ResponseBodyAdvice for automatic wrapping, implementing parameter validation with JSR‑303, and handling custom exceptions through centralized advice, illustrated with comprehensive code examples.

ControllerExceptionHandlingJava
0 likes · 15 min read
Designing an Excellent Controller Layer in Java Spring
JavaEdge
JavaEdge
Jun 10, 2024 · Backend Development

How Nacos Implements Long Polling with AsyncContext – A Deep Dive

This article walks through Nacos's LongPollingService source code, showing how it extracts headers, calculates timeouts, detects configuration changes, enforces connection limits, and uses Servlet 3.0 AsyncContext to handle long‑polling without blocking threads.

AsyncContextBackend DevelopmentJava
0 likes · 6 min read
How Nacos Implements Long Polling with AsyncContext – A Deep Dive
Architect
Architect
Jun 10, 2024 · Backend Development

How to Build a Scalable Front‑Back‑Separated Captcha Login with Spring Boot and Redis

This article walks through the problem of traditional session‑based captcha login, compares it with a modern front‑back‑separated architecture, and provides a step‑by‑step implementation using Spring Boot, Kaptcha, and Redis, including full code snippets, configuration classes, and flow diagrams.

FrontBackSeparationJavaLoginSecurity
0 likes · 12 min read
How to Build a Scalable Front‑Back‑Separated Captcha Login with Spring Boot and Redis
Cognitive Technology Team
Cognitive Technology Team
Jun 10, 2024 · Backend Development

Gracefully Shutting Down a Thread Pool in Java

To gracefully shut down a Java thread pool, use ExecutorService's shutdown() to reject new tasks, awaitTermination() to wait for running tasks with optional timeout, handle exceptions, and optionally invoke shutdownNow() for forced termination, as illustrated by code examples from Dubbo3 and RocketMQ.

ExecutorServiceGracefulShutdownJava
0 likes · 4 min read
Gracefully Shutting Down a Thread Pool in Java
Architect
Architect
Jun 9, 2024 · Backend Development

Using MDC and TraceId for Log Correlation in Java Applications

This article explains how to use SLF4J MDC together with a TraceId header to correlate logs across threads, services, and distributed tracing tools like SkyWalking, providing code examples for filters, Feign interceptors, thread‑pool adapters, and Logback configuration.

JavaLogbackLogging
0 likes · 15 min read
Using MDC and TraceId for Log Correlation in Java Applications
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Jun 9, 2024 · Backend Development

Understanding RequestContextHolder Issues in Multithreaded Spring MVC Applications

This article explains why RequestContextHolder fails to retrieve the HttpServletRequest in a multithreaded Spring MVC environment, demonstrates the problem with a concrete example, analyzes the underlying thread‑local handling of request attributes, and clarifies the default non‑inheritable behavior that leads to null requests.

JavaRequestContextHolderServletRequestAttributes
0 likes · 8 min read
Understanding RequestContextHolder Issues in Multithreaded Spring MVC Applications
Top Architect
Top Architect
Jun 8, 2024 · Backend Development

Comprehensive Guide to Java BigDecimal: Overview, Constructors, Methods, Formatting, Exceptions, and Utilities

This article provides an in‑depth tutorial on Java's BigDecimal class, covering its purpose, common constructors, essential arithmetic methods, comparison techniques, formatting with NumberFormat, handling of division exceptions, and a utility class offering precise add, subtract, multiply, divide, rounding, and comparison operations.

ArithmeticBigDecimalExceptionHandling
0 likes · 16 min read
Comprehensive Guide to Java BigDecimal: Overview, Constructors, Methods, Formatting, Exceptions, and Utilities
Cognitive Technology Team
Cognitive Technology Team
Jun 8, 2024 · Fundamentals

Why ConcurrentHashMap Disallows Null Keys and Values in Java

ConcurrentHashMap forbids null keys and values because allowing nulls creates ambiguous results in concurrent environments, making it impossible to distinguish between a missing entry and an entry explicitly mapped to null, which could compromise thread safety, as explained by Doug Lea’s design rationale.

JavaNULLconcurrenthashmap
0 likes · 4 min read
Why ConcurrentHashMap Disallows Null Keys and Values in Java
Architecture Digest
Architecture Digest
Jun 7, 2024 · Information Security

Implementing RSA Encryption and Decryption in Spring Boot APIs

This article explains how to secure Spring Boot API responses using RSA asymmetric encryption and digital signatures, covering RSA fundamentals, project setup, Maven configuration, key management, annotation‑driven encryption/decryption, front‑end JavaScript encryption with JSEncrypt, and practical testing steps.

API EncryptionJavaRSA
0 likes · 10 min read
Implementing RSA Encryption and Decryption in Spring Boot APIs
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Jun 7, 2024 · Fundamentals

Understanding Java CAS and AQS: Unlock Lock-Free Concurrency

This article explains the principles and implementation of Java's Compare-and-Swap (CAS) and AbstractQueuedSynchronizer (AQS), illustrating how CAS enables lock‑free algorithms and how AQS underpins high‑level synchronization constructs like ReentrantLock and CountDownLatch, while also providing practical step‑by‑step examples.

AQSCASJava
0 likes · 5 min read
Understanding Java CAS and AQS: Unlock Lock-Free Concurrency
macrozheng
macrozheng
Jun 7, 2024 · Backend Development

Boost Java Startup Speed with Class Data Sharing (CDS): A Step‑by‑Step Guide

This article explains what Java Class Data Sharing (CDS) is, walks through training and running a Spring Boot application with CDS, and demonstrates how startup time can be reduced by nearly one second, while comparing CDS with CRaC and GraalVM for Java performance optimization.

Backend DevelopmentClass Data SharingJVM
0 likes · 9 min read
Boost Java Startup Speed with Class Data Sharing (CDS): A Step‑by‑Step Guide
Java High-Performance Architecture
Java High-Performance Architecture
Jun 7, 2024 · Backend Development

How to Parse Documents in Spring Boot with Apache Tika

Learn how to integrate Apache Tika into a Spring Boot application to parse a wide range of document formats, including the necessary Maven dependencies, XML configuration, custom configuration class, and usage examples, enabling efficient content extraction and processing within your Java backend.

Apache TikaBackend DevelopmentDocument Parsing
0 likes · 5 min read
How to Parse Documents in Spring Boot with Apache Tika
Architect
Architect
Jun 6, 2024 · Backend Development

Why Fast‑Retry Beats Spring‑Retry for Million‑Task Scenarios

The article explains how Fast‑Retry, an asynchronous multi‑task retry framework, dramatically outperforms synchronous retry libraries like Spring‑Retry and Guava‑Retry when handling massive workloads, and provides step‑by‑step code examples, performance benchmarks, and integration tips for Java developers.

JavaPerformanceasynchronous
0 likes · 8 min read
Why Fast‑Retry Beats Spring‑Retry for Million‑Task Scenarios
Java Tech Enthusiast
Java Tech Enthusiast
Jun 6, 2024 · Backend Development

MyBatis Dynamic SQL and Tag Usage Guide

MyBatis dynamic SQL lets developers construct conditional queries at runtime using tags like if, where, trim, choose, set, foreach, sql, include, and bind, simplifying complex statements, avoiding manual string concatenation, supporting batch operations, reusable fragments, and one‑to‑many mappings while improving flexibility and maintainability.

Dynamic SQLJavaMyBatis
0 likes · 16 min read
MyBatis Dynamic SQL and Tag Usage Guide
JD Cloud Developers
JD Cloud Developers
Jun 6, 2024 · Artificial Intelligence

Boost Code Review Efficiency with AI-Powered CI Integration

This guide explains how embedding a large‑language‑model AI into a CI pipeline can automate code reviews, cut review time, improve consistency and accuracy, and ultimately raise development efficiency and code quality while reducing manual effort and communication overhead.

AIAutomationCI/CD
0 likes · 9 min read
Boost Code Review Efficiency with AI-Powered CI Integration
Architect's Guide
Architect's Guide
Jun 6, 2024 · Backend Development

Backend Implementation Method and Device Based on SpringBoot

The Chinese Patent CN112905176B granted to Industrial and Commercial Bank of China describes a SpringBoot‑based backend implementation method that extracts operation data, maps business IDs to configuration, builds conditional expressions, and processes data, aiming to reduce development changes, lower costs, and improve system stability.

Backend DevelopmentJavaSoftware Architecture
0 likes · 3 min read
Backend Implementation Method and Device Based on SpringBoot
JD Tech
JD Tech
Jun 5, 2024 · Artificial Intelligence

Integrating AI-Powered Code Review into CI Pipelines with JD's Large Model

This article explains the drawbacks of manual code review, demonstrates how AI large‑model services can automate and improve review quality, and provides a step‑by‑step guide—including a Java script and CI pipeline configuration—to embed JD's Chatrhino model into a continuous integration workflow, resulting in higher efficiency, accuracy, and reduced development cycle time.

AI Code ReviewCI/CDJava
0 likes · 11 min read
Integrating AI-Powered Code Review into CI Pipelines with JD's Large Model
Top Architect
Top Architect
Jun 5, 2024 · Backend Development

Advanced MyBatis Dynamic SQL Techniques and Best Practices

This article provides a comprehensive guide to MyBatis dynamic SQL, covering foreach loops, conditional if, choose, selectKey, trim, and sql fragments, with detailed explanations and full XML and Java code examples to help developers write efficient, error‑free mappings.

Dynamic SQLJavaMyBatis
0 likes · 20 min read
Advanced MyBatis Dynamic SQL Techniques and Best Practices
Top Architect
Top Architect
Jun 5, 2024 · Backend Development

Implementing Interface Debounce (Anti‑duplicate Submission) in Java Backend with Redis and Redisson

This article explains how to prevent duplicate API calls in Java backend systems by using debounce techniques, shared Redis caches or Redisson distributed locks, and provides complete annotation‑based implementations with code examples, key generation strategies, and testing results to achieve idempotent interfaces.

Distributed LockJavaRedis
0 likes · 16 min read
Implementing Interface Debounce (Anti‑duplicate Submission) in Java Backend with Redis and Redisson