Tagged articles
5000 articles
Page 38 of 50
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.

BackendDesign Patternsjava
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.

Message QueueMessaging PatternsRabbitMQ
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.

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

Decision Tablebackend-developmentjava
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.

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

OpenFeignRemote CallSpring Cloud
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.

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

JUnitString concatenationjava
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.

Menu AuthorizationMyBatisPlusUser Permission
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-754binary conversionfloating-point
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.

Spring MVCannotationsjava
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.

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

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

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

JVMasynchronous loggingjava
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.

BackendCustom AnnotationHibernate Validator
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.

Scheduled Tasksauto-configurationjava
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.

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

AuthenticationJWTPassword Encryption
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 SQLMyBatisXML
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.

custom-eventdeadlockjava
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.

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

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

DynamicLoadingMicroservicesXXL-JOB
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.

BackendDynamic Pluginadvice management
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.

AsyncContextNacosbackend-development
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.

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

ExecutorServiceGracefulShutdownThreadPool
0 likes · 4 min read
Gracefully Shutting Down a Thread Pool in Java
Cognitive Technology Team
Cognitive Technology Team
Jun 10, 2024 · Backend Development

Recursive Update Bug in ConcurrentHashMap.computeIfAbsent Causing Infinite Loop and CPU Spike

The article explains a bug in Java's ConcurrentHashMap.computeIfAbsent that can cause recursive updates and infinite loops, leading to CPU spikes, and shows that newer Java versions throw an IllegalStateException while recommending avoiding nested computeIfAbsent/putIfAbsent calls, with a code example.

BackendConcurrentHashMapbug
0 likes · 3 min read
Recursive Update Bug in ConcurrentHashMap.computeIfAbsent Causing Infinite Loop and CPU Spike
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.

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

ArithmeticBigDecimalUtilityMethods
0 likes · 16 min read
Comprehensive Guide to Java BigDecimal: Overview, Constructors, Methods, Formatting, Exceptions, and Utilities
Java Tech Enthusiast
Java Tech Enthusiast
Jun 8, 2024 · Cloud Native

Performance Comparison of Spring Boot and Quarkus for Cloud‑Native Java Applications

The article benchmarks Spring Boot and Quarkus for cloud‑native Java apps, showing Quarkus native images start up twice as fast, use less memory, and produce smaller artifacts than Spring Boot, while Spring Boot JVM offers slightly lower latency, and a migration guide demonstrates API compatibility and code reuse.

Cloud NativeMicroservicesPerformance Testing
0 likes · 13 min read
Performance Comparison of Spring Boot and Quarkus for Cloud‑Native Java Applications
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.

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

RSAapi-encryptioncryptography
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.

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

Class Data SharingJVMStartup Performance
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 TikaDocument Parsingbackend-development
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.

AsynchronousBackendRetry
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 SQLMyBatisORM
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.

AICode reviewautomation
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.

Software ArchitectureSpringBootbackend-development
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 reviewJenkinsSoftware quality
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 SQLMyBatisSQL Mapping
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.

Debouncedistributed-lockjava
0 likes · 16 min read
Implementing Interface Debounce (Anti‑duplicate Submission) in Java Backend with Redis and Redisson
Selected Java Interview Questions
Selected Java Interview Questions
Jun 5, 2024 · Backend Development

Analysis of MyBatis OGNL Concurrency Bug and Workarounds

This article investigates a concurrency bug in MyBatis caused by OGNL expression evaluation using reflection, explains the root cause through stack trace and source code analysis, and proposes solutions such as upgrading MyBatis or avoiding private inner‑class methods like Arrays.asList.

MyBatisOGNLReflection
0 likes · 13 min read
Analysis of MyBatis OGNL Concurrency Bug and Workarounds
FunTester
FunTester
Jun 4, 2024 · Backend Development

Why FastThreadLocal Beats ThreadLocal in High‑Concurrency Java Apps

This article compares Java's standard ThreadLocal with Netty's FastThreadLocal, explains their internal mechanisms, shows practical code examples, runs a JMH microbenchmark, and discusses performance, memory management, and usage scenarios to help developers choose the right thread‑local storage solution.

FastThreadLocalJMHThreadLocal
0 likes · 11 min read
Why FastThreadLocal Beats ThreadLocal in High‑Concurrency Java Apps
Top Architect
Top Architect
Jun 4, 2024 · Backend Development

Dynamic Hot‑Pluggable AOP Implementation in Spring

This article explains how to let users dynamically enable or disable logging by managing Spring AOP advice at runtime, covering prerequisite concepts, core hot‑plug logic, detailed Java code for installing and removing plugins, a step‑by‑step demo, and a concise summary of the approach.

Dynamic PluginHot Plugaop
0 likes · 12 min read
Dynamic Hot‑Pluggable AOP Implementation in Spring
Programmer DD
Programmer DD
Jun 4, 2024 · Backend Development

8 Essential Java Stream APIs to Simplify Collection Processing

This article introduces eight ready‑to‑use Java Stream APIs—including Stream.ofNullable, Stream.iterate, collectingAndThen, dropWhile/takeWhile, IntStream, teeing, concat, and partitioningBy—showing how each can cleanly handle nulls, generate sequences, transform collections, and combine streams with concise code examples.

CollectionsJava 12Java 8
0 likes · 7 min read
8 Essential Java Stream APIs to Simplify Collection Processing
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Jun 4, 2024 · Cloud Native

Mastering Hystrix: A Complete Guide to Circuit Breaking in Spring Cloud

This article provides a comprehensive overview of Hystrix, covering its core functions such as fault isolation, service fallback, timeout control, and circuit breaking, and walks through adding Maven dependencies, annotating methods with @HystrixCommand, configuring properties, and explaining the underlying circuit‑breaker and thread‑pool isolation principles.

HystrixSpring Cloudcircuit breaker
0 likes · 6 min read
Mastering Hystrix: A Complete Guide to Circuit Breaking in Spring Cloud
Java High-Performance Architecture
Java High-Performance Architecture
Jun 4, 2024 · Backend Development

Master Spring Security & JWT for Seamless Single Sign-On (SSO)

This comprehensive guide walks you through the concepts of Single Sign-On, the mechanics of JWT, RSA asymmetric encryption, and step‑by‑step integration of Spring Security with JWT, providing full Maven project setup, configuration files, utility classes, custom filters, and testing instructions for a robust distributed authentication system.

AuthenticationJWTSingle Sign-On
0 likes · 25 min read
Master Spring Security & JWT for Seamless Single Sign-On (SSO)
Architect's Guide
Architect's Guide
Jun 4, 2024 · Fundamentals

IntelliJ IDEA 2024.1 Release: New Features and Improvements

JetBrains' 2024.1 update for IntelliJ IDEA introduces full‑line code completion, Java 22 support, a revamped terminal, AI Assistant enhancements, improved version‑control integration, faster Maven project loading, advanced debugging, Spring framework upgrades, and numerous UI and refactoring refinements, all aimed at boosting developer productivity.

AI code completionIDE FeaturesIntelliJ IDEA
0 likes · 11 min read
IntelliJ IDEA 2024.1 Release: New Features and Improvements
dbaplus Community
dbaplus Community
Jun 3, 2024 · Backend Development

Why Your ScheduledExecutorService Stops After an Exception—and How to Fix It

A mis‑handled exception in a ScheduledExecutorService can silently halt the entire scheduled thread pool, causing critical periodic jobs to stop; this article explains the underlying delay‑queue and thread‑pool mechanics, shows reproducible code, and provides practical safeguards to keep scheduled tasks alive.

DelayQueueScheduledExecutorServiceThreadPool
0 likes · 9 min read
Why Your ScheduledExecutorService Stops After an Exception—and How to Fix It
Java Tech Enthusiast
Java Tech Enthusiast
Jun 3, 2024 · Backend Development

Integrating URule Rule Engine into Java Spring Boot Projects

The article explains how to embed the open‑source URule rule engine into a Spring Boot application, covering installation, datasource configuration, library definitions for variables, constants, parameters and actions, creating visual or script rule sets and decision tables, and demonstrates a membership‑upgrade use case.

backend-developmentjavarule engine
0 likes · 16 min read
Integrating URule Rule Engine into Java Spring Boot Projects
Architecture Digest
Architecture Digest
Jun 3, 2024 · Backend Development

Spring Statemachine for Order State Management with Persistence, Exception Handling, and AOP Logging

This article explains the fundamentals of finite state machines, introduces Spring Statemachine, demonstrates how to model order lifecycle states, configure persistence with memory and Redis, handle exceptions during state transitions, and use AOP to log transition results, providing complete Java code examples.

BackendPersistenceaop
0 likes · 23 min read
Spring Statemachine for Order State Management with Persistence, Exception Handling, and AOP Logging
FunTester
FunTester
Jun 3, 2024 · Backend Development

Implementing Unix Domain Socket Communication in Java with junixsocket

This article demonstrates how to use the junixsocket library to add Unix domain socket support to Java applications, providing Maven dependency details, full server and client code examples, and cross‑language testing with a Go server implementation.

BackendIPCNetwork programming
0 likes · 6 min read
Implementing Unix Domain Socket Communication in Java with junixsocket
Selected Java Interview Questions
Selected Java Interview Questions
Jun 2, 2024 · Backend Development

Implementing a Data Permission Interceptor with MyBatis‑Plus in Java

This article explains how to create a custom annotation and MyBatis‑Plus interceptor that automatically injects data‑permission WHERE clauses based on the current user's role, covering both a basic implementation and an advanced version with role‑based scope handling, complete with configuration and usage examples.

BackendData Permissionannotation
0 likes · 16 min read
Implementing a Data Permission Interceptor with MyBatis‑Plus in Java
Architect's Guide
Architect's Guide
Jun 2, 2024 · Fundamentals

Pitfalls and Best Practices of Arrays.asList and ArrayList.subList in Java

This article explains how Java's Arrays.asList creates a fixed‑size list that throws UnsupportedOperationException on add/remove, and how ArrayList.subList returns a mutable view whose non‑structural changes affect both the original list and the sublist while structural changes can trigger ConcurrentModificationException, providing code examples and practical guidelines.

Arrays.asListCollectionsConcurrentModificationException
0 likes · 9 min read
Pitfalls and Best Practices of Arrays.asList and ArrayList.subList in Java
Code Ape Tech Column
Code Ape Tech Column
Jun 1, 2024 · Artificial Intelligence

Getting Started with Spring Cloud Alibaba AI: Integrating Text, Image, and Audio Models in a Spring Boot Application

This tutorial introduces Spring AI and Spring Cloud Alibaba AI, explains their core features, shows how to set up a Maven project with the required dependencies, and provides step‑by‑step code examples for invoking text, image, and audio generation models using Spring Boot.

AI integrationAudio SynthesisImage Generation
0 likes · 9 min read
Getting Started with Spring Cloud Alibaba AI: Integrating Text, Image, and Audio Models in a Spring Boot Application
Open Source Linux
Open Source Linux
Jun 1, 2024 · Fundamentals

Mastering Concurrency and Parallelism in Java: From Basics to Advanced APIs

This article explains the concepts of concurrency, parallelism, and serial execution, describes common multi‑core scheduling algorithms, and demonstrates Java's concurrent programming tools—including Future, Fork/Join, Stream API, and CompletableFuture—through clear code examples and practical guidelines.

CompletableFutureFutureParallelism
0 likes · 20 min read
Mastering Concurrency and Parallelism in Java: From Basics to Advanced APIs
Architect's Guide
Architect's Guide
Jun 1, 2024 · Backend Development

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

This article explains how to achieve reliable API idempotency in Spring Boot applications by using Redis for token storage, defining a custom @AutoIdempotent annotation, implementing token generation and validation services, configuring an interceptor, and providing test cases to demonstrate the workflow.

IdempotencyInterceptorToken
0 likes · 11 min read
Implementing API Idempotency with Spring Boot, Redis, and Custom Annotations
Selected Java Interview Questions
Selected Java Interview Questions
May 31, 2024 · Backend Development

Flexible Switching Between Spring @Scheduled and XXL‑JOB for Scheduled Tasks

This article explains how to implement a configuration‑driven mechanism that dynamically switches between Spring's native @Scheduled tasks and XXL‑JOB execution, automatically registers jobs, disables Spring's scheduler when needed, and forwards logs to the XXL‑JOB console, providing a complete starter solution for backend developers.

BackendScheduledTasksSpringBoot
0 likes · 25 min read
Flexible Switching Between Spring @Scheduled and XXL‑JOB for Scheduled Tasks
Top Architect
Top Architect
May 31, 2024 · Backend Development

How to Skip Tests When Packaging a Maven Project

This article explains why Maven runs unit tests during the package phase, describes the Maven lifecycle, and provides several practical methods—including command‑line flags, pom.xml configuration, and IDE settings—to skip tests when building a Java project.

CISkipTestsbuild
0 likes · 9 min read
How to Skip Tests When Packaging a Maven Project
Java High-Performance Architecture
Java High-Performance Architecture
May 31, 2024 · Frontend Development

How to Build a Real‑Time Data Visualization Dashboard with Echarts and Java

This guide walks you through creating a dynamic, real‑time data visualization dashboard—covering design mockups, requirement planning, architecture using Echarts for the front‑end and Java for the back‑end, JSON data handling, deployment without installation, configuration steps, code structure, and source acquisition.

DashboardData visualizationECharts
0 likes · 4 min read
How to Build a Real‑Time Data Visualization Dashboard with Echarts and Java
Architect
Architect
May 30, 2024 · Backend Development

Inside Pulsar’s Bookie: A Deep Dive into Storage Architecture and Write/Read Paths

This article dissects Pulsar’s storage layer by examining the Bookie component, detailing its architecture, the sequential write‑ahead log, ledger management, journal handling, caching mechanisms, and the complete read/write call chains with concrete code examples and performance considerations.

Distributed SystemsLedgerPulsar
0 likes · 33 min read
Inside Pulsar’s Bookie: A Deep Dive into Storage Architecture and Write/Read Paths
Java High-Performance Architecture
Java High-Performance Architecture
May 30, 2024 · Backend Development

How to Build a Clean, Robust Java Controller Layer with Unified Responses and Validation

This article explains how to design an effective Java controller layer by separating concerns, introducing a unified response structure, applying global response wrapping, leveraging Spring's validation mechanisms, and handling custom exceptions to produce concise, maintainable backend code.

ControllerException Handlingbackend-development
0 likes · 18 min read
How to Build a Clean, Robust Java Controller Layer with Unified Responses and Validation
Code Ape Tech Column
Code Ape Tech Column
May 30, 2024 · Backend Development

Dynamic Loading of JAR Files in Spring Boot Applications

This article explains the concepts and step-by-step implementation of dynamically loading JAR packages in Spring Boot applications, covering built‑in classloader usage, creating JARs, and leveraging third‑party libraries to enhance flexibility and extensibility.

BackendDynamic LoadingJAR
0 likes · 9 min read
Dynamic Loading of JAR Files in Spring Boot Applications
Java Backend Technology
Java Backend Technology
May 29, 2024 · Backend Development

Why NullPointerExceptions Still Haunt Java Developers—and How to Defeat Them

Java developers constantly battle NullPointerExceptions, a historic flaw introduced by Tony Hoare, but modern JDKs provide clearer messages and defensive techniques—such as explicit null checks, utility methods, avoiding null returns, and using Optional—can dramatically reduce these runtime errors.

BackendError Handlingdefensive programming
0 likes · 6 min read
Why NullPointerExceptions Still Haunt Java Developers—and How to Defeat Them
Top Architect
Top Architect
May 28, 2024 · Backend Development

Implementing Process Pooling in Java with GenericObjectPool

This article explains how Java developers can use thread pools and Apache Commons Pool2's GenericObjectPool to create a reusable process pool, covering the underlying concepts, required interfaces, Maven dependencies, configuration options, and practical code examples to improve performance.

GenericObjectPoolPoolingThreadPool
0 likes · 11 min read
Implementing Process Pooling in Java with GenericObjectPool