Tagged articles
5000 articles
Page 12 of 50
Efficient Ops
Efficient Ops
Sep 16, 2025 · Backend Development

Why Tomcat Thread‑Pool Saturation Crashed Our Service and How to Avoid It

A detailed post‑mortem explains how a sudden traffic surge, insufficient pod count, and a custom thread‑pool bottleneck caused Tomcat thread‑pool saturation, health‑check failures, and a zone‑wide outage, and offers concrete lessons on capacity planning, monitoring, and safe coding practices.

CapacityPlanningThreadPoolTomcat
0 likes · 28 min read
Why Tomcat Thread‑Pool Saturation Crashed Our Service and How to Avoid It
Architect's Tech Stack
Architect's Tech Stack
Sep 16, 2025 · Backend Development

Avoid Hidden Spring Boot Pitfalls: Optimize Tomcat, HikariCP, JPA, and More

Spring Boot’s “convention over configuration” hides many default settings that can cause performance bottlenecks and runtime failures, from Tomcat and HikariCP connection limits to JPA lazy loading, timezone serialization, logging, caching, file upload limits, thread pools, and transaction timeouts, and the article shows how to tune each.

BackendSpring Bootjava
0 likes · 13 min read
Avoid Hidden Spring Boot Pitfalls: Optimize Tomcat, HikariCP, JPA, and More
Selected Java Interview Questions
Selected Java Interview Questions
Sep 16, 2025 · Backend Development

Mastering Asynchronous Responses in Spring: CompletableFuture vs ResponseBodyEmitter

This guide explains how to implement high‑performance asynchronous APIs in Spring Web using CompletableFuture and ResponseBodyEmitter, covering controller and service code, configuration, request lifecycle, client handling, Nginx settings, and practical recommendations for choosing the right approach.

AsynchronousCompletableFutureResponseBodyEmitter
0 likes · 12 min read
Mastering Asynchronous Responses in Spring: CompletableFuture vs ResponseBodyEmitter
Java Tech Enthusiast
Java Tech Enthusiast
Sep 16, 2025 · Backend Development

Master Java Concurrency & Redis: Thread Safety, Pools, and Data Consistency

This article explains Java thread‑safety concepts, how to use and configure ThreadPoolExecutor, Redis performance tricks, Zset internal structures, memory‑eviction policies, node‑failure handling, cache‑DB consistency patterns, and MySQL transaction ACID properties with MVCC differences, providing practical code examples throughout.

ThreadPooldatabasejava
0 likes · 25 min read
Master Java Concurrency & Redis: Thread Safety, Pools, and Data Consistency
macrozheng
macrozheng
Sep 16, 2025 · Backend Development

Simplify Elasticsearch with Easy-Es: MyBatis‑Plus‑Style ORM Tutorial

This article introduces Easy-Es, an Elasticsearch ORM that mimics MyBatis‑Plus syntax, walks through its core features, integration steps, entity annotations, mapper and service implementations, and demonstrates simple, advanced, and recommendation search scenarios, highlighting the reduction in boilerplate code.

Easy-EsElasticsearchORM
0 likes · 17 min read
Simplify Elasticsearch with Easy-Es: MyBatis‑Plus‑Style ORM Tutorial
Architect's Guide
Architect's Guide
Sep 16, 2025 · Backend Development

How to Replace Clunky if‑else Chains with Elegant Java Patterns

This article shares practical techniques for reducing verbose if‑else statements in Java, covering strategy‑enum patterns, ternary operators, Stream API methods, Map lookups, enums, and Optional, each illustrated with concise code examples to make conditional logic clearer and more maintainable.

Code OptimizationDesign PatternsStream API
0 likes · 9 min read
How to Replace Clunky if‑else Chains with Elegant Java Patterns
JakartaEE China Community
JakartaEE China Community
Sep 16, 2025 · Backend Development

Defining Jakarta Data Repositories with Hibernate: A Practical Guide

This article explains how to define Jakarta Data repositories using Hibernate, covering the stateless nature of repositories, minimal and extended interfaces, custom lifecycle annotations, finder methods, and custom JDQL queries, with concrete code examples and generated SQL illustrations.

HibernateJakarta DataPersistence
0 likes · 13 min read
Defining Jakarta Data Repositories with Hibernate: A Practical Guide
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Sep 16, 2025 · Backend Development

Master Spring Boot 3: 171 Real-World Cases and Advanced Techniques

This article presents a continuously updated collection of 171 Spring Boot 3 practical cases, covering advanced topics such as global exception handling, custom interceptors, bean retrieval, configuration imports, startup runners, bean definition modification, initialization methods, custom scopes, and graceful shutdown, with full code examples and a free PDF ebook.

Spring BootSpring Frameworkbackend-development
0 likes · 14 min read
Master Spring Boot 3: 171 Real-World Cases and Advanced Techniques
Cognitive Technology Team
Cognitive Technology Team
Sep 15, 2025 · Databases

Avoid Common Pitfalls When Combining MyBatis‑Plus with ShardingSphere‑JDBC

Learn how to seamlessly integrate MyBatis‑Plus with ShardingSphere‑JDBC for high‑performance sharding, covering core principles, step‑by‑step workflow, and detailed solutions to typical pitfalls such as SQL parsing, pagination conflicts, key generation, query routing, transaction handling, broadcast tables, injection risks, and shard algorithm design.

ShardingSphere-JDBCdatabase shardingjava
0 likes · 19 min read
Avoid Common Pitfalls When Combining MyBatis‑Plus with ShardingSphere‑JDBC
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Sep 15, 2025 · Backend Development

Master Spring’s Core: IoC, DI, AOP & Transaction Explained

This article provides a comprehensive overview of the Spring framework, covering its core principles such as Inversion of Control, Dependency Injection, Aspect‑Oriented Programming, and transaction management, while illustrating each concept with diagrams and practical code examples for Java developers.

aopbackend-developmentdependency-injection
0 likes · 7 min read
Master Spring’s Core: IoC, DI, AOP & Transaction Explained
Code Ape Tech Column
Code Ape Tech Column
Sep 15, 2025 · Backend Development

Unlock Ultra‑Fast Messaging with Disruptor: A Hands‑On Java Guide

This article introduces the high‑performance Disruptor library, explains its core concepts such as Ring Buffer, Sequence, and Wait Strategy, and provides a step‑by‑step Java demo—including Maven setup, event model, producer, consumer, and test—showcasing how to build a lock‑free in‑memory message queue.

Concurrent ProgrammingDisruptorMessage Queue
0 likes · 11 min read
Unlock Ultra‑Fast Messaging with Disruptor: A Hands‑On Java Guide
Architect's Journey
Architect's Journey
Sep 15, 2025 · Backend Development

Token Bucket vs Leaky Bucket: Deep Dive into Core Traffic‑Control Algorithms

This article compares the token‑bucket and leaky‑bucket rate‑limiting algorithms, explaining their core principles, Java implementation details, key advantages and drawbacks, suitable application scenarios, interview‑style Q&A, and advanced hybrid strategies for building robust high‑concurrency systems.

Distributed SystemsToken Bucketjava
0 likes · 9 min read
Token Bucket vs Leaky Bucket: Deep Dive into Core Traffic‑Control Algorithms
Java Backend Technology
Java Backend Technology
Sep 15, 2025 · Backend Development

How to Dynamically Load External JARs into SpringBoot and Scan Them

This guide explains how to load external JAR files into the JVM, configure SpringBoot to recognize them, and choose among several class‑loading strategies—including expanding the classpath, using the loader.path parameter, or implementing a custom classloader—while providing Maven configuration examples and code snippets.

Custom ClassLoaderDynamic Configurationclass loading
0 likes · 9 min read
How to Dynamically Load External JARs into SpringBoot and Scan Them
Architect's Guide
Architect's Guide
Sep 15, 2025 · Backend Development

How to Use Java Agents and Instrumentation for Non‑Intrusive Performance Monitoring

This article explains why inserting manual timing code is invasive, introduces the java.lang.instrument API, shows how to write a tiny Java Agent with premain and agentmain methods, demonstrates dynamic class redefinition via the Attach API, and explores how tools like Arthas and Bytekit leverage these mechanisms for runtime tracing and bytecode enhancement.

ArthasAttach APIInstrumentation
0 likes · 19 min read
How to Use Java Agents and Instrumentation for Non‑Intrusive Performance Monitoring
Cognitive Technology Team
Cognitive Technology Team
Sep 14, 2025 · Fundamentals

Unlocking Java HashMap: How It Works, Optimizations & Common Pitfalls

This article explores Java's HashMap internals, detailing its bucket array design, hash processing, collision handling, Java 8 treeification, resizing strategy, load factor and threshold calculations, performance optimization tips, common pitfalls, and when to choose alternative map implementations for high‑concurrency or ordered use cases.

Data StructuresHashMapjava
0 likes · 9 min read
Unlocking Java HashMap: How It Works, Optimizations & Common Pitfalls
Architect
Architect
Sep 14, 2025 · Backend Development

Interceptor vs Filter in Spring MVC: Key Differences, Code Samples, and Usage Guide

This article explains the fundamental differences between Spring MVC interceptors and servlet filters, provides complete Java code examples for both, shows how to configure them in Spring and web.xml, and summarizes when to choose each approach for request handling and AOP-like functionality.

InterceptorSpring MVCWeb Development
0 likes · 11 min read
Interceptor vs Filter in Spring MVC: Key Differences, Code Samples, and Usage Guide
Cognitive Technology Team
Cognitive Technology Team
Sep 14, 2025 · Backend Development

How to Simulate Function Pointers in Java: Interfaces, Lambdas, and More

This guide explains how Java can mimic function pointers using interfaces with anonymous classes, lambda expressions, built-in functional interfaces, method references, reflection, the command pattern, and enum-based implementations, comparing their advantages, drawbacks, and ideal use cases for modern and legacy codebases.

Functional InterfacesLambdafunction pointers
0 likes · 14 min read
How to Simulate Function Pointers in Java: Interfaces, Lambdas, and More
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Sep 14, 2025 · Backend Development

5 Common Redis Cache Anti‑Patterns and How to Fix Them

This article examines five frequent Redis cache anti‑patterns—cache avalanche, unbounded local cache, stale data, missing invalidation, and oversized objects—explaining their pitfalls with code examples and showing concrete fixes that dramatically improve latency, throughput, and memory usage.

Anti‑PatternCacheCaffeine
0 likes · 15 min read
5 Common Redis Cache Anti‑Patterns and How to Fix Them
Code Mala Tang
Code Mala Tang
Sep 13, 2025 · Information Security

Mastering CORS: How to Fix Cross-Origin Errors in Web Apps

Learn what CORS (Cross-Origin Resource Sharing) is, why browsers block cross-origin requests, and how to configure servers—using Java, Express.js, or Spring Boot—to handle preflight checks, simple requests, and fine-grained security headers, ensuring safe and functional web applications.

CORSCross-OriginHTTP
0 likes · 13 min read
Mastering CORS: How to Fix Cross-Origin Errors in Web Apps
Architect
Architect
Sep 13, 2025 · Backend Development

Automate MinIO Image Cleanup with Spring Boot Scheduled Tasks

This article explains how to use MinIO as an image storage service and implement a Spring Boot scheduled task that periodically deletes outdated image folders, covering dependency setup, delete utilities, performance considerations, cron expressions, thread‑pool tuning, asynchronous execution, configuration extensions, and testing strategies.

File CleanupMinioScheduled Tasks
0 likes · 27 min read
Automate MinIO Image Cleanup with Spring Boot Scheduled Tasks
Java Web Project
Java Web Project
Sep 13, 2025 · Backend Development

How to Quickly Integrate SpringDoc for OpenAPI Docs in Spring Boot

This article walks through why SpringDoc replaces SpringFox, shows step‑by‑step minimal configuration, dependency setup, controller annotations, API grouping (both programmatic and declarative), and necessary adjustments for WebMvcConfigurer and Spring Security to generate OpenAPI 3 documentation in a Spring Boot project.

API documentationConfigurationOpenAPI
0 likes · 15 min read
How to Quickly Integrate SpringDoc for OpenAPI Docs in Spring Boot
macrozheng
macrozheng
Sep 13, 2025 · Fundamentals

Why 73% of Companies Face Oracle Java Audits and How to Switch to OpenJDK

Recent Dimensional Research data shows that 73% of surveyed enterprises have encountered Oracle‑initiated Java license audits, prompting 15% to complete migration, 22% to start, and 25% to plan moving to OpenJDK or other open‑source JDKs, driven by cost and compliance pressures.

License AuditOpenJDKOracle
0 likes · 7 min read
Why 73% of Companies Face Oracle Java Audits and How to Switch to OpenJDK
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Sep 13, 2025 · Backend Development

Generate PDFs with Spring Boot 3, iText, and Thymeleaf – 170 Real‑World Cases

This article presents a comprehensive guide to generating PDF documents in Spring Boot 3 applications using iTextpdf and Thymeleaf, covering environment setup, Maven dependencies, data model, HTML template design, controller implementation, and a test case that produces a correctly rendered PDF with external CSS and images.

Spring BootThymeleafbackend-development
0 likes · 9 min read
Generate PDFs with Spring Boot 3, iText, and Thymeleaf – 170 Real‑World Cases
Java Backend Full-Stack
Java Backend Full-Stack
Sep 12, 2025 · Backend Development

How to Handle Exceptions Thrown by Threads in a ThreadPool

This article explains why tasks submitted to a Java ThreadPool via submit silently swallow exceptions while execute prints them, and demonstrates three practical ways—using Future.get(), a custom UncaughtExceptionHandler, and overriding afterExecute—to reliably capture and process those exceptions.

ExecutorServiceFutureThreadPool
0 likes · 14 min read
How to Handle Exceptions Thrown by Threads in a ThreadPool
IT Services Circle
IT Services Circle
Sep 12, 2025 · Fundamentals

Is Java 8 Dead? Explore Essential Features from Java 8 to Java 24

This article walks through why Java 8 is being retired and highlights the most useful language features introduced from Java 8 through Java 24—including lambdas, streams, optional, records, sealed classes, virtual threads, and the new Stream Gatherers—providing code examples and practical guidance for modern Java development.

SealedClassesVirtualThreadsjava
0 likes · 46 min read
Is Java 8 Dead? Explore Essential Features from Java 8 to Java 24
Java Tech Enthusiast
Java Tech Enthusiast
Sep 12, 2025 · Backend Development

Mastering Graceful Shutdown in Spring Boot: Hooks, Events, and @PreDestroy

Learn how to implement graceful shutdown in Spring Boot by understanding the JVM shutdown hook, customizing cleanup logic with ContextClosedEvent listeners and @PreDestroy annotations, and configuring the spring.main.register-shutdown-hook property to ensure resources are released safely during application termination.

ContextClosedEventGraceful ShutdownPreDestroy
0 likes · 9 min read
Mastering Graceful Shutdown in Spring Boot: Hooks, Events, and @PreDestroy
macrozheng
macrozheng
Sep 12, 2025 · Backend Development

Master Java Design Patterns: Strategy, SPI, Chain of Responsibility & Rule Engine

Learn how to replace tangled if‑else logic with four elegant solutions—Strategy pattern, Java SPI, Chain of Responsibility, and a rule engine—complete with concepts, UML diagrams, Java code examples, advantages, drawbacks, and practical usage scenarios for building maintainable, extensible backend systems.

Chain of ResponsibilitySPIStrategy Pattern
0 likes · 23 min read
Master Java Design Patterns: Strategy, SPI, Chain of Responsibility & Rule Engine
macrozheng
macrozheng
Sep 12, 2025 · Backend Development

Automate User and Order IDs in Spring Boot Logs with MDC and AOP

This guide shows how to automatically inject userId and orderId into Spring Boot log messages by defining log placeholders, using ThreadLocal, creating a custom @UserLog annotation, and applying a Spring AOP aspect that populates MDC, dramatically simplifying logging in e‑commerce systems.

Spring Bootaopjava
0 likes · 8 min read
Automate User and Order IDs in Spring Boot Logs with MDC and AOP
Java Tech Enthusiast
Java Tech Enthusiast
Sep 11, 2025 · Backend Development

Refresh Spring Boot Config at Runtime Without Restart

This guide explains how to use Spring Boot's @RefreshScope to dynamically refresh configuration at runtime without restarting services, covering the underlying mechanism, step‑by‑step implementation, production best practices, troubleshooting tips, and advanced use cases.

@RefreshScopeDynamic ConfigurationSpring Boot
0 likes · 9 min read
Refresh Spring Boot Config at Runtime Without Restart
Architect's Tech Stack
Architect's Tech Stack
Sep 11, 2025 · Backend Development

Master MyBatis Streaming Queries: Reduce Memory Usage with Cursors

This article explains MyBatis streaming queries, introduces the Cursor interface and its methods, demonstrates common pitfalls, and provides three practical solutions—using SqlSessionFactory, TransactionTemplate, or @Transactional—to keep database connections open while processing large result sets efficiently.

CursorMyBatisStreaming Query
0 likes · 7 min read
Master MyBatis Streaming Queries: Reduce Memory Usage with Cursors
Architect's Tech Stack
Architect's Tech Stack
Sep 11, 2025 · Backend Development

Master MyBatis Streaming Queries: Keep DB Connections Open Efficiently

This article explains MyBatis streaming queries using the Cursor interface, demonstrates common pitfalls such as closed connections, and provides three practical solutions—including SqlSessionFactory, TransactionTemplate, and @Transactional—to reliably process large result sets with minimal memory usage.

BackendCursorMyBatis
0 likes · 6 min read
Master MyBatis Streaming Queries: Keep DB Connections Open Efficiently
Java Backend Full-Stack
Java Backend Full-Stack
Sep 10, 2025 · Backend Development

How a Misconfigured ThreadPool Caused Data Loss in Production – A Step‑by‑Step Troubleshooting Guide

The article recounts a real production incident where a recent deployment triggered loss of third‑party order data, traces the root cause to an improperly configured ThreadPoolExecutor that used a local memory queue, and walks through the systematic investigation and remediation steps.

BackendBlockingQueueProductionDebugging
0 likes · 6 min read
How a Misconfigured ThreadPool Caused Data Loss in Production – A Step‑by‑Step Troubleshooting Guide
DeWu Technology
DeWu Technology
Sep 10, 2025 · Backend Development

Unlocking Hessian: How Java’s Binary Serialization Boosts Performance

This article explains the core principles of Hessian, a Java‑optimized binary serialization protocol, covering object graph traversal, encoding formats, data‑block tags, repeated‑object reuse, small‑integer inlining, and integer compression, and shows why it offers higher efficiency and compression than text‑based alternatives.

Hessianbinary protocoljava
0 likes · 17 min read
Unlocking Hessian: How Java’s Binary Serialization Boosts Performance
Su San Talks Tech
Su San Talks Tech
Sep 10, 2025 · Backend Development

Master Java Backend Interview Questions: HTTP Status, JVM, Multithreading & More

This article shares Beike's recent campus hiring salary data and provides a comprehensive Java backend interview guide covering HTTP response codes, session vs. cookie, runtime and checked exceptions, abstract classes vs. interfaces, StringBuilder vs. String, JVM memory structure, multithreading techniques, thread‑pool parameters, the synchronized keyword, B+‑tree indexing, and essential Linux commands.

JVMLinuxbackend-development
0 likes · 23 min read
Master Java Backend Interview Questions: HTTP Status, JVM, Multithreading & More
IT Services Circle
IT Services Circle
Sep 10, 2025 · Fundamentals

How to Solve LeetCode 757: Minimum Set Intersection of Size Two with a Greedy Approach

The article first discusses common interview pitfalls before presenting a detailed greedy solution for LeetCode problem 757—finding the smallest set that intersects each interval in at least two points—complete with problem description, algorithmic reasoning, complexity analysis, and implementations in Java, C++, Python, and TypeScript.

LeetCode 757PythonTypeScript
0 likes · 11 min read
How to Solve LeetCode 757: Minimum Set Intersection of Size Two with a Greedy Approach
IT Services Circle
IT Services Circle
Sep 10, 2025 · Backend Development

Why Does Spring Cloud Gateway Return 404 After Nacos Config Changes?

After a year‑long mystery, we discovered that Spring Cloud Gateway 3.x caches stale weight data from Nacos, causing 404 errors when routes are removed, and we detail the debugging steps, root‑cause analysis, and a custom solution that synchronizes the weight cache on configuration changes.

NacosSpring Cloud GatewayWeight Cache
0 likes · 11 min read
Why Does Spring Cloud Gateway Return 404 After Nacos Config Changes?
Code Ape Tech Column
Code Ape Tech Column
Sep 10, 2025 · Backend Development

How to Capture Exceptions from Java ThreadPoolExecutor: submit vs execute

This article explains why tasks submitted with ExecutorService.submit silently swallow exceptions while execute prints them, and demonstrates three practical ways—try‑catch, Thread.setDefaultUncaughtExceptionHandler, and overriding afterExecute—to reliably retrieve exception information from a Java thread pool.

ExecutorServiceFutureThreadPoolExecutor
0 likes · 14 min read
How to Capture Exceptions from Java ThreadPoolExecutor: submit vs execute
Java Architect Essentials
Java Architect Essentials
Sep 10, 2025 · Backend Development

How to Tame Java Dependency Hell with Modular Design

This article explains the common pain points of Java package management—naming conflicts, circular dependencies, and version chaos—and shows how modular design using JPMS, strict Maven rules, and tooling can dramatically reduce conflicts, build time, and improve code maintainability.

JPMSbackend-developmentdependency management
0 likes · 6 min read
How to Tame Java Dependency Hell with Modular Design
Su San Talks Tech
Su San Talks Tech
Sep 10, 2025 · Fundamentals

15 Proven Code Refactoring Techniques to Supercharge Your Java Projects

Learn 15 practical code refactoring techniques—from extracting methods and introducing explanatory variables to applying design patterns like Strategy and Builder—that transform tangled Java code into clean, modular, and maintainable solutions, boosting readability and simplifying future enhancements.

Code RefactoringDesign Patternsclean code
0 likes · 30 min read
15 Proven Code Refactoring Techniques to Supercharge Your Java Projects
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Sep 10, 2025 · Backend Development

Master Spring Expression Language (SpEL) in Spring Boot 3: Real-World Cases

This article introduces Spring Expression Language (SpEL) for Spring Boot 3, explains its core features such as collection filtering, projection, Elvis and safe navigation operators, method and bean references, regular‑expression handling, and arithmetic expressions, and provides complete runnable code examples demonstrating each technique.

Expression LanguageSpELSpring Boot
0 likes · 11 min read
Master Spring Expression Language (SpEL) in Spring Boot 3: Real-World Cases
dbaplus Community
dbaplus Community
Sep 9, 2025 · Operations

How We Eliminated GC‑Induced Pauses in a 100k QPS Service

This article details a step‑by‑step investigation of a high‑concurrency, low‑latency system whose instability was traced to long‑lasting Young‑GC pauses during massive index swaps, and explains how targeted JVM parameter tweaks, GC‑log analysis, and a lightweight Eden‑pre‑heat technique finally achieved near‑perfect availability.

GC tuningJVMg1gc
0 likes · 22 min read
How We Eliminated GC‑Induced Pauses in a 100k QPS Service
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Sep 9, 2025 · Backend Development

Master Spring Boot 3 Validation: 9 Essential Annotation Techniques

This article walks through Spring Boot 3's powerful annotation‑based parameter validation, covering basic constraints, custom validators, group validation, nested objects, method‑level checks, internationalized messages, programmatic validation, composite annotations, and cross‑field verification with complete code examples.

Spring BootSpring Validationannotations
0 likes · 12 min read
Master Spring Boot 3 Validation: 9 Essential Annotation Techniques
Su San Talks Tech
Su San Talks Tech
Sep 9, 2025 · Backend Development

Why @Transactional Fails: 13 Hidden Pitfalls and How to Fix Them

Spring’s @Transactional annotation often appears simple, yet it can silently fail due to unnecessary usage, scope issues, proxy limitations, propagation settings, exception handling, and bean management, leading to unexpected non‑rollback behavior; this article categorizes thirteen common pitfalls and demonstrates each with concrete code examples.

aopexceptionhandlingjava
0 likes · 18 min read
Why @Transactional Fails: 13 Hidden Pitfalls and How to Fix Them
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Sep 9, 2025 · Backend Development

Why Adding 2 Days Sometimes Results in a 3-Day Unblock? Java Date Precision Explained

A Java backend bug caused blacklist unblocking times to be stored one second later than expected due to mismatched Date and TIMESTAMP precision, daylight‑saving and timezone conversions, and millisecond rounding, which was diagnosed through code review, AI analysis, and batch testing, then fixed by normalising nanoseconds or adjusting database column precision.

Timezonedatetimejava
0 likes · 11 min read
Why Adding 2 Days Sometimes Results in a 3-Day Unblock? Java Date Precision Explained
Architect
Architect
Sep 8, 2025 · Information Security

Mask Sensitive Data in Java with YAML Rules – A Step‑by‑Step Guide

This article demonstrates a practical approach to data desensitization in Java applications by storing masking rules in YAML files, loading them into maps, and recursively applying regex‑based transformations to nested response structures without using AOP annotations, complete with sample code and execution results.

data maskingdesensitizationjava
0 likes · 22 min read
Mask Sensitive Data in Java with YAML Rules – A Step‑by‑Step Guide
Java Architect Essentials
Java Architect Essentials
Sep 8, 2025 · Backend Development

Why Comparable Traps Your Java Sorting and How Comparator Saves the Day

This article explains the hidden pitfalls of using Java's Comparable for sorting, demonstrates how null handling and fragmented comparison logic can cause bugs, and shows how the flexible Comparator API together with chainable methods provides safer, more performant dynamic sorting solutions for constantly changing business requirements.

ComparableComparatorSorting
0 likes · 7 min read
Why Comparable Traps Your Java Sorting and How Comparator Saves the Day
phodal
phodal
Sep 8, 2025 · Artificial Intelligence

Enterprise AI Agents: Framework Evolution, Platform Trends, and Practical Guidance

The article examines how rapid advances in generative AI have transformed enterprise AI Agent development, comparing evolving frameworks like LangChain, Semantic Kernel, and Spring AI with emerging low‑code platforms such as Dify and Copilot Studio, and outlines architectural challenges, integration strategies, and best‑practice design principles for Java‑centric organizations.

Enterprise AILangChainLow-code Platforms
0 likes · 15 min read
Enterprise AI Agents: Framework Evolution, Platform Trends, and Practical Guidance
Java Tech Enthusiast
Java Tech Enthusiast
Sep 8, 2025 · Backend Development

Boost Your Java CRUD Development with EasyCode: A Step‑by‑Step Guide

This article introduces the EasyCode IntelliJ plugin, explains how it generates CRUD code for Java projects using custom Velocity templates, walks through installation and configuration steps with screenshots, and shows the necessary Spring Boot adjustments to get a fully functional backend up and running.

CRUDEasyCodeIntelliJ
0 likes · 4 min read
Boost Your Java CRUD Development with EasyCode: A Step‑by‑Step Guide
IT Services Circle
IT Services Circle
Sep 8, 2025 · Fundamentals

How to Count Subarrays with Sum K Using Prefix Sum and HashMap

This article first highlights Ctrip's employee benefits, then presents the LeetCode 560 subarray sum problem with detailed explanations and multi-language implementations using prefix sum and hash map, including Java, C++, Python, and TypeScript solutions, and discusses time and space complexities.

LeetCodePrefix SumPython
0 likes · 6 min read
How to Count Subarrays with Sum K Using Prefix Sum and HashMap
Senior Tony
Senior Tony
Sep 8, 2025 · Artificial Intelligence

Unlock Spring AI: Build Java Generative Apps with Model Switching, Memory, and Prompt Engineering

This article introduces Spring AI, explains its relationship to Spring Boot, outlines support for major AI model providers and capabilities, and provides step‑by‑step code examples for a chatbot, conversational memory, and prompt engineering, while highlighting version pitfalls and future extensions.

AI model integrationConversational Memoryjava
0 likes · 8 min read
Unlock Spring AI: Build Java Generative Apps with Model Switching, Memory, and Prompt Engineering
Java Backend Technology
Java Backend Technology
Sep 8, 2025 · Backend Development

How to Track Online Users with Redis ZSET: A Step‑by‑Step Guide

This article explains how to implement an online‑user counting feature using Redis sorted sets (zset) by leveraging the four core commands zadd, zrangeByScore, zremrangeByScore, and zrem, with Java/Spring code examples and optional browser‑fingerprinting for unauthenticated visitors.

Online UsersZSetjava
0 likes · 7 min read
How to Track Online Users with Redis ZSET: A Step‑by‑Step Guide
Architecture & Thinking
Architecture & Thinking
Sep 8, 2025 · Backend Development

Mastering RocketMQ: 7 Core Techniques for Reliable Messaging

This article walks through seven essential RocketMQ concepts—including message ordering, delayed delivery, accumulation handling, transactional guarantees, retry mechanisms, storage strategies, and filtering—providing code examples, configuration tips, and visual diagrams to help developers build robust distributed messaging systems.

Distributed SystemsMessage QueueMessaging
0 likes · 13 min read
Mastering RocketMQ: 7 Core Techniques for Reliable Messaging
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Sep 8, 2025 · Backend Development

Master Long‑Running Workflows in Spring Boot 3 with Temporal

This article walks through building a robust, long‑running order‑processing workflow in Spring Boot 3 using the open‑source Temporal workflow engine, covering environment setup, Maven dependencies, configuration, workflow and activity definitions, service and controller code, and testing of retry and recovery features.

MicroservicesSpring BootTemporal
0 likes · 10 min read
Master Long‑Running Workflows in Spring Boot 3 with Temporal
Architect
Architect
Sep 7, 2025 · Backend Development

Why Did My Spring Boot Services Consume 12 GB Each? A JVM Memory Deep Dive

This article records and analyzes a production incident where multiple Spring Boot microservices each consumed around 12 GB of RAM, explains why the default JVM settings caused the overload, and provides step‑by‑step troubleshooting and tuning recommendations to prevent similar memory‑usage problems.

JVMMicroservicesSpring Boot
0 likes · 7 min read
Why Did My Spring Boot Services Consume 12 GB Each? A JVM Memory Deep Dive
IT Services Circle
IT Services Circle
Sep 7, 2025 · Backend Development

Master Java Backend Interview: JVM, ClassLoaders, AOP, and More

This article guides job seekers through the autumn recruitment season, highlights bank hiring timelines and English requirements, and then provides a comprehensive Java interview Q&A covering JVM memory structures, object allocation failures, the parent‑delegation model, message‑queue usage, Spring AOP principles, and database string type differences.

JVMMessage Queueclassloader
0 likes · 17 min read
Master Java Backend Interview: JVM, ClassLoaders, AOP, and More
IT Services Circle
IT Services Circle
Sep 7, 2025 · Fundamentals

Should try‑catch Be Inside or Outside a Loop? Pros, Cons & When to Use

This article examines the trade‑offs of placing try‑catch blocks inside versus outside loops in Java, illustrating each approach with code snippets, discussing efficiency impacts, referencing Alibaba’s Java Development Manual, and outlining scenarios where each placement is appropriate.

Exception Handlingbest practicesjava
0 likes · 4 min read
Should try‑catch Be Inside or Outside a Loop? Pros, Cons & When to Use
IT Services Circle
IT Services Circle
Sep 6, 2025 · Backend Development

10 Real‑World Scenarios Where Message Queues Transform Your System

This article explores ten practical use‑cases for message queues—covering system decoupling, asynchronous processing, traffic shaping, data synchronization, log collection, broadcast updates, ordered and delayed messages, retry mechanisms, and transactional messaging—illustrated with Java code examples and architectural diagrams.

Distributed SystemsKafkaMQ
0 likes · 17 min read
10 Real‑World Scenarios Where Message Queues Transform Your System
Java Tech Enthusiast
Java Tech Enthusiast
Sep 6, 2025 · Backend Development

Build a Web SSH Client with Spring Boot: From Architecture to Code

This tutorial walks through creating a browser‑based SSH client using Spring Boot, JSch, WebSocket, and Xterm.js, covering application scenarios, system architecture, backend and frontend implementation, file transfer features, database setup, performance tuning, and security best practices.

SSHSpring BootWeb SSH
0 likes · 32 min read
Build a Web SSH Client with Spring Boot: From Architecture to Code
Su San Talks Tech
Su San Talks Tech
Sep 6, 2025 · Backend Development

How Spring’s nohttp Project Eliminates Insecure HTTP URLs

Spring’s open‑source nohttp project scans, replaces, and blocks insecure http:// URLs across codebases, ensuring HTTPS usage to prevent man‑in‑the‑middle attacks, and includes modules like nohttp‑cli, nohttp‑checkstyle, and Gradle integration, while addressing cases where HTTPS isn’t feasible.

BackendHTTPSjava
0 likes · 5 min read
How Spring’s nohttp Project Eliminates Insecure HTTP URLs
Raymond Ops
Raymond Ops
Sep 5, 2025 · Databases

Why Redis Needs a Cluster: Step‑by‑Step Setup, Configuration & Best Practices

This guide explains the need for Redis clustering to achieve high availability, walks through Redis 3.0's decentralized cluster configuration, shows how to modify redis.conf, start multiple nodes, create the cluster, use hash slots, handle failures, and connect via Java Jedis, highlighting both advantages and limitations.

ClusterConfigurationJedis
0 likes · 13 min read
Why Redis Needs a Cluster: Step‑by‑Step Setup, Configuration & Best Practices
Tech Freedom Circle
Tech Freedom Circle
Sep 5, 2025 · Interview Experience

How to Diagnose Frequent Full GC in Java Interviews

This article explains the root‑cause analysis and step‑by‑step troubleshooting process for frequent Full GC events in Java applications, covering trigger mechanisms, impact assessment, common causes, monitoring tools, heap‑dump analysis, and both short‑term fixes and long‑term architectural improvements.

Full GCJVMinterview
0 likes · 47 min read
How to Diagnose Frequent Full GC in Java Interviews
Top Architect
Top Architect
Sep 3, 2025 · Backend Development

How to Refresh Spring Boot Configurations at Runtime with @RefreshScope

This article explains why dynamic configuration refresh is needed in Spring Boot, details the @RefreshScope mechanism, provides step‑by‑step implementation code, and shares best practices and troubleshooting tips for zero‑downtime updates in production environments.

@RefreshScopeDynamic ConfigurationMicroservices
0 likes · 12 min read
How to Refresh Spring Boot Configurations at Runtime with @RefreshScope
IT Services Circle
IT Services Circle
Sep 2, 2025 · Backend Development

How Does Java’s HashMap Resolve Collisions? From Linked Lists to Red‑Black Trees

This article explains the mechanisms Java’s HashMap uses to handle hash collisions, covering the initial perturbation function, the transition from linked‑list chaining to red‑black tree conversion, the differences between Java 7 and Java 8 implementations, and the resizing logic that mitigates conflict.

Hash CollisionHashMapRed-Black Tree
0 likes · 17 min read
How Does Java’s HashMap Resolve Collisions? From Linked Lists to Red‑Black Trees
Su San Talks Tech
Su San Talks Tech
Sep 2, 2025 · Fundamentals

Mastering Finite State Machines with Spring Statemachine: A Complete Guide

Learn the fundamentals of finite state machines, explore their core concepts and four key elements, and see how to implement and persist a Spring Statemachine for order processing with detailed code examples, diagrams, and troubleshooting tips, while also understanding common pitfalls and best practices.

BackendPersistenceaop
0 likes · 26 min read
Mastering Finite State Machines with Spring Statemachine: A Complete Guide
macrozheng
macrozheng
Sep 2, 2025 · Operations

How to Master Microservice Performance Monitoring with SkyWalking APM

This tutorial walks you through installing SkyWalking, configuring Java agents, tracing microservice calls, profiling performance bottlenecks, creating custom trace annotations, logging with ActiveSpan, and using OpenTracing to achieve fine‑grained observability of Java‑based microservices.

APMSkyWalkingjava
0 likes · 10 min read
How to Master Microservice Performance Monitoring with SkyWalking APM
Code Ape Tech Column
Code Ape Tech Column
Sep 2, 2025 · Operations

Avoid QPS Miscalculations: 5 Proven Methods to Accurately Measure Traffic

This article explains five practical ways to count QPS—from gateway and application instrumentation to monitoring tools, log analysis, and database metrics—while highlighting common pitfalls such as health‑check filtering, thread‑safety, and multi‑node aggregation, helping engineers make informed scaling decisions.

ELKPerformance MonitoringPrometheus
0 likes · 16 min read
Avoid QPS Miscalculations: 5 Proven Methods to Accurately Measure Traffic
Coder Circle
Coder Circle
Sep 2, 2025 · Artificial Intelligence

Unlocking the New Era of AI Development: Exploring Spring AI Core Classes

This article walks through Spring AI’s three core classes—Message, Prompt, and ChatModel—explaining their roles, showing concrete code examples for constructing messages, building prompts, and invoking a large language model via a REST controller, and provides a complete demo repository.

ChatModelLLMMessage
0 likes · 3 min read
Unlocking the New Era of AI Development: Exploring Spring AI Core Classes
Java Architect Essentials
Java Architect Essentials
Sep 1, 2025 · Backend Development

Quick Null Checks in Java with StringUtils, ObjectUtils, CollectionUtils

This article explains how to replace repetitive !=null checks in Java by identifying the data type and using the appropriate utility classes—StringUtils for strings, ObjectUtils for objects, and CollectionUtils for collections—to perform concise and reliable null or empty evaluations, including code examples and discussion of edge cases.

CollectionUtilsObjectUtilsStringUtils
0 likes · 8 min read
Quick Null Checks in Java with StringUtils, ObjectUtils, CollectionUtils
Architect
Architect
Sep 1, 2025 · Fundamentals

Master the State Pattern: Java Basics to Spring StateMachine Order Flow

This article explains the State design pattern, illustrates its advantages over traditional conditional logic, provides a complete Java implementation with abstract state, concrete states, and context classes, demonstrates a real‑world order processing scenario using Spring StateMachine, and discusses related patterns, benefits, and drawbacks.

Design PatternsState Patternjava
0 likes · 19 min read
Master the State Pattern: Java Basics to Spring StateMachine Order Flow
Su San Talks Tech
Su San Talks Tech
Sep 1, 2025 · Backend Development

How to Eliminate a 1M‑Message MQ Backlog Without Adding Servers: 5 Proven Strategies

This article explains why message queues can accumulate millions of messages, analyzes root causes such as over‑fast producers and slow consumers, and presents five practical solutions—including consumer code optimization, queue‑strategy tweaks, producer rate limiting, dead‑letter handling, and automated monitoring—to dramatically reduce backlog without costly hardware scaling.

Message QueueRocketMQbackend-development
0 likes · 22 min read
How to Eliminate a 1M‑Message MQ Backlog Without Adding Servers: 5 Proven Strategies
NiuNiu MaTe
NiuNiu MaTe
Sep 1, 2025 · Backend Development

How Does Java’s HashMap Resolve Hash Collisions? From Linked Lists to Red‑Black Trees

Java’s HashMap tackles hash collisions through a combination of perturbation functions, chaining, open addressing, and, since JDK 8, converting long chains into red‑black trees, with detailed explanations of the underlying algorithms, resizing mechanics, threshold choices, and performance trade‑offs for developers and interview candidates.

Hash CollisionHashMapRed-Black Tree
0 likes · 17 min read
How Does Java’s HashMap Resolve Hash Collisions? From Linked Lists to Red‑Black Trees
Architect's Tech Stack
Architect's Tech Stack
Sep 1, 2025 · Backend Development

Boost Your Java Backend with MyBatisPlusPro: A Complete CRUD Controller Guide

This article walks through building a reusable BaseController using MyBatisPlusPro in a Spring Boot application, covering dependency setup, utility methods for query conversion, generic CRUD endpoints, pagination configuration, and how to extend the controller for specific entities, providing ready‑to‑use code snippets for each step.

CRUDMyBatisPlusRESTful API
0 likes · 10 min read
Boost Your Java Backend with MyBatisPlusPro: A Complete CRUD Controller Guide
Java Architecture Diary
Java Architecture Diary
Sep 1, 2025 · Backend Development

How mica-mqtt 2.5.4 Simplifies Dynamic Topic Parsing with Native Annotation Support

mica-mqtt 2.5.4 introduces native Topic variable parsing via enhanced @MqttClientSubscribe and @MqttServerFunction annotations, enabling effortless handling of dynamic MQTT topics, along with performance boosts, server subscription management upgrades, flexible heartbeat detection, and several breaking changes for improved code maintainability.

IoTMQTTTopic Parsing
0 likes · 9 min read
How mica-mqtt 2.5.4 Simplifies Dynamic Topic Parsing with Native Annotation Support
Java Architect Essentials
Java Architect Essentials
Aug 31, 2025 · Backend Development

How Global Exception Handling Can Slash Crash Rates by 90% in Java Services

This article explains why uncaught exceptions can cripple a Java backend, demonstrates a three‑layer global exception handling strategy with Spring Boot, shows how circuit‑breaker rules further protect services, and provides real‑world data proving crash rates can drop from over 4% to under 0.1%.

Exception HandlingSpring Bootbackend-development
0 likes · 8 min read
How Global Exception Handling Can Slash Crash Rates by 90% in Java Services
Architect
Architect
Aug 31, 2025 · Backend Development

Mastering PO, VO, BO, DTO, DAO: When to Use Each Java Object

This article explains the definitions, responsibilities, and differences of six common Java objects—PO, VO, BO, DTO, DAO, and POJO—illustrates their typical usage in layered architectures, presents conversion models and tools like MapStruct and Dozer, and offers practical guidelines to avoid common pitfalls.

PObackend-developmentdao
0 likes · 14 min read
Mastering PO, VO, BO, DTO, DAO: When to Use Each Java Object
Alibaba Cloud Native
Alibaba Cloud Native
Aug 31, 2025 · Backend Development

How AI Can Auto‑Generate a Complete Java E‑Commerce Order System from 0 to 1

This tutorial walks through using the Lingma AI assistant to automatically create, configure, and run a full Java Maven e‑commerce order project—including environment setup, SQLite persistence, CRUD services, unit tests, and architecture visualization—showing each prompt, command, and generated code snippet.

AI code generationSQLitebackend-development
0 likes · 11 min read
How AI Can Auto‑Generate a Complete Java E‑Commerce Order System from 0 to 1
Architect
Architect
Aug 30, 2025 · Backend Development

How to Seamlessly Combine Java and Lua: A Step‑by‑Step Guide

This tutorial explains how to integrate Lua scripts into Java applications and how to call Java code from Lua, covering the LuaJ and LuaJava libraries, Maven dependencies, code examples for executing Lua, passing functions, dynamic extensions, and automatic script upgrades.

LuaLuaJavajava
0 likes · 14 min read
How to Seamlessly Combine Java and Lua: A Step‑by‑Step Guide
IT Services Circle
IT Services Circle
Aug 30, 2025 · Operations

Why Does My System Freeze? 9 Common Causes and How to Diagnose Them

This article explains why systems suddenly become unresponsive, outlines nine typical root causes ranging from frontend request spikes to backend thread‑pool exhaustion and missing timeout settings, and walks through a real‑world investigation that reveals how to pinpoint and resolve such blockages.

Timeoutdatabasejava
0 likes · 11 min read
Why Does My System Freeze? 9 Common Causes and How to Diagnose Them