Tagged articles
5000 articles
Page 26 of 50
Selected Java Interview Questions
Selected Java Interview Questions
Jan 22, 2025 · Backend Development

Implementing Automatic Order Cancellation for Timeout Orders in a Monolithic Backend System

This article explains three backend solutions—database polling with scheduled tasks, JDK DelayQueue, and Netty's HashedWheelTimer—for automatically cancelling unpaid orders after a timeout in a monolithic architecture, detailing their implementation steps, pros, cons, and optimization tips with Java code examples.

DelayQueueHashedWheelTimerautomatic cancellation
0 likes · 11 min read
Implementing Automatic Order Cancellation for Timeout Orders in a Monolithic Backend System
Architect
Architect
Jan 21, 2025 · Backend Development

Refactoring Spring MVC Controllers for Unified Responses and Robust Validation

The article analyzes the role of Spring MVC Controllers, identifies issues with traditional implementations, and demonstrates how to create a unified response structure, automatically wrap results using ResponseBodyAdvice, resolve String conversion problems, and apply JSR‑303 validation with custom rules and global exception handling.

BackendControllerException Handling
0 likes · 22 min read
Refactoring Spring MVC Controllers for Unified Responses and Robust Validation
Top Architect
Top Architect
Jan 21, 2025 · Backend Development

DynamicTp: A SpringBoot‑Based Dynamic Thread‑Pool Framework for Java Applications

The article introduces DynamicTp, a SpringBoot-based dynamic thread‑pool framework that enables real‑time adjustment, monitoring, and alerting of ThreadPoolExecutor parameters via various configuration centers, outlines its architecture, modules, features, and integration with third‑party components, and provides usage guidance for Java backend developers.

DynamicTpSpringBootThreadPool
0 likes · 12 min read
DynamicTp: A SpringBoot‑Based Dynamic Thread‑Pool Framework for Java Applications
Selected Java Interview Questions
Selected Java Interview Questions
Jan 21, 2025 · Backend Development

Integrating Alipay Sandbox Payment in a Java Backend with Ngrok Tunneling

This guide explains how to configure Alipay sandbox credentials, expose a local Java Spring Boot service via a tunneling tool, add the Alipay SDK dependency, set up configuration files, implement payment and notification endpoints, and handle common initialization errors for seamless backend payment integration.

AlipayBackendPayment Integration
0 likes · 11 min read
Integrating Alipay Sandbox Payment in a Java Backend with Ngrok Tunneling
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Jan 21, 2025 · Backend Development

Design and Implementation of a Lightweight TimeTracker Utility for Java

This article introduces a concise and elegant Java TimeTracker utility class that leverages AutoCloseable, try‑with‑resources, and functional interfaces to provide flexible performance monitoring, automatic duration calculation, and configurable exception handling while reducing repetitive timing code.

Exception HandlingLambdaUtility Class
0 likes · 14 min read
Design and Implementation of a Lightweight TimeTracker Utility for Java
Su San Talks Tech
Su San Talks Tech
Jan 21, 2025 · Backend Development

Master LiteFlow: Build Scalable Component‑Based Workflow Engines in Java

This article introduces LiteFlow, a lightweight Java component‑based rule engine that decouples complex business logic, explains its workbench design, demonstrates usage in both non‑Spring and SpringBoot environments with Maven setup and XML configuration, and details its core components, parsing, chain execution, and node processing.

Component ArchitectureLiteFlowWorkflow Engine
0 likes · 19 min read
Master LiteFlow: Build Scalable Component‑Based Workflow Engines in Java
Liangxu Linux
Liangxu Linux
Jan 20, 2025 · Fundamentals

Stack vs Heap Memory: Deep Dive into Allocation, Usage, and Performance

This article explains the fundamental differences between stack and heap memory, covering their structures, allocation strategies, performance characteristics, language-specific examples in Java, C++, and Python, and provides guidance on when to use each type for efficient programming.

C++HeapMemory Management
0 likes · 16 min read
Stack vs Heap Memory: Deep Dive into Allocation, Usage, and Performance
Top Architect
Top Architect
Jan 20, 2025 · Backend Development

Diagnosing Excessive Memory Usage in Spring Boot Services: A Real‑World Case Study and Best Practices

This article recounts a production incident where Spring Boot services consumed excessive memory, explains how to diagnose the issue using jps and jmap, discusses default JVM heap settings, offers practical remediation steps, and also contains promotional material for AI community services and related offers.

BackendDevelopmentJVMMemoryManagement
0 likes · 9 min read
Diagnosing Excessive Memory Usage in Spring Boot Services: A Real‑World Case Study and Best Practices
FunTester
FunTester
Jan 20, 2025 · Fundamentals

Mastering ThreadLocal in Java: From Basics to Best Practices

ThreadLocal provides a simple yet powerful way to give each thread its own independent variable, eliminating shared-state conflicts; this guide explains its underlying mechanism, creation methods, basic get/set operations, a complete example with console output, and important usage considerations such as potential memory leaks.

Performance TestingThreadLocalconcurrency
0 likes · 6 min read
Mastering ThreadLocal in Java: From Basics to Best Practices
Java Architect Essentials
Java Architect Essentials
Jan 19, 2025 · Backend Development

Proper Declaration, Monitoring, and Configuration of Java Thread Pools

This article explains how to correctly declare Java thread pools using ThreadPoolExecutor, monitor their runtime status, configure parameters for CPU‑bound and I/O‑bound workloads, assign meaningful names, avoid common pitfalls such as unbounded queues and thread‑local leakage, and leverage dynamic pool frameworks.

PerformanceSpringBootThreadPool
0 likes · 16 min read
Proper Declaration, Monitoring, and Configuration of Java Thread Pools
Architect
Architect
Jan 19, 2025 · Databases

Mastering Solr Spatial Search: From Configuration to Real-World Queries

This guide explains how to implement location‑based job search in a WeChat mini‑program using Solr’s spatial capabilities, covering schema setup, index building, query syntax, performance considerations, and practical code examples, while also comparing Solr with Elasticsearch for similar use cases.

Elasticsearch ComparisonSolrSpatial Search
0 likes · 15 min read
Mastering Solr Spatial Search: From Configuration to Real-World Queries
ITPUB
ITPUB
Jan 19, 2025 · Backend Development

Why Java Reflection Slows Down Your Apps and How to Speed It Up

This article examines Java reflection's advantages and drawbacks, analyzes its core API methods, benchmarks its performance against regular calls, explains why it is slower, and demonstrates how using Hutool's ReflectUtil can dramatically improve execution speed.

PerformanceReflectionhutool
0 likes · 8 min read
Why Java Reflection Slows Down Your Apps and How to Speed It Up
Top Architect
Top Architect
Jan 18, 2025 · Backend Development

Replacing Tomcat with Undertow in Spring Boot: Configuration, Features, and Performance Comparison

This article explains how to replace Spring Boot's default embedded Tomcat container with Undertow, detailing Undertow's features, providing Maven dependency changes, and comparing performance and memory usage through test results, concluding that Undertow offers superior efficiency for high‑concurrency Java web applications.

SpringBootTomcatjava
0 likes · 9 min read
Replacing Tomcat with Undertow in Spring Boot: Configuration, Features, and Performance Comparison
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Jan 18, 2025 · Backend Development

How Java’s String.intern() Boosts Memory Efficiency and Performance

Java’s String.intern() method adds a string to the constant pool, enabling memory sharing and faster reference comparisons; this article explains its behavior, demonstrates usage with code examples, and discusses performance benefits and cautions for optimal use in real‑world applications.

Memory OptimizationStringintern
0 likes · 5 min read
How Java’s String.intern() Boosts Memory Efficiency and Performance
macrozheng
macrozheng
Jan 17, 2025 · Backend Development

Mastering Spring Event: Avoid Pitfalls and Ensure Reliable Publish‑Subscribe

This article shares hard‑won lessons from production incidents and provides practical guidelines—graceful shutdown, proper startup timing, suitable business scenarios, reliability patterns, and idempotent handling—to use Spring Event safely and effectively in Java backend systems.

BackendEventIdempotence
0 likes · 12 min read
Mastering Spring Event: Avoid Pitfalls and Ensure Reliable Publish‑Subscribe
JD Tech Talk
JD Tech Talk
Jan 17, 2025 · Backend Development

Investigation of JSF Thread‑Pool Exhaustion During R2M Redis Upgrade

During a Redis version upgrade of the internal R2M cache service, a Biz thread‑pool exhaustion error was traced to JSF threads blocked on a read lock held by a topology‑updater task, revealing a deadlock caused by shared ForkJoinPool usage and missing lock timeouts.

JSFThreadPooljava
0 likes · 5 min read
Investigation of JSF Thread‑Pool Exhaustion During R2M Redis Upgrade
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Jan 17, 2025 · Backend Development

Why Reentrant Locks Prevent Deadlocks and How to Use Them in Java

Reentrant locks are thread‑safe synchronization tools that let the same thread acquire the same lock multiple times without deadlocking, tracking acquisition counts, and offering advantages over traditional synchronized blocks, with Java’s ReentrantLock providing flexible features such as interruptible and timed locking, illustrated by a complete code example.

ReentrantLockconcurrencyjava
0 likes · 6 min read
Why Reentrant Locks Prevent Deadlocks and How to Use Them in Java
Architect
Architect
Jan 16, 2025 · Backend Development

How to Shrink Spring Boot JARs by Extracting Dependencies and Config Files with Maven

This guide tackles the problem of oversized Spring Boot JARs by showing how to separate library JARs and configuration files from the main artifact, presenting three Maven‑based solutions—spring‑boot‑maven‑plugin, maven‑jar‑plugin, and maven‑assembly‑plugin—complete with configuration snippets, build commands, and deployment tips.

DevOpsMicroservicesdependency management
0 likes · 16 min read
How to Shrink Spring Boot JARs by Extracting Dependencies and Config Files with Maven
Top Architect
Top Architect
Jan 16, 2025 · Backend Development

Guide to Using the XXL‑JOB Distributed Task Scheduling Framework with Spring Boot

This article introduces the XXL‑JOB open‑source distributed scheduler, compares it with Quartz and other solutions, and provides a step‑by‑step tutorial for server deployment, executor configuration, task development, execution, logging, and the underlying Netty‑based communication design, complete with code examples.

BackendDistributed SchedulingNetty
0 likes · 15 min read
Guide to Using the XXL‑JOB Distributed Task Scheduling Framework with Spring Boot
Top Architect
Top Architect
Jan 16, 2025 · Backend Development

Optimizing XML‑to‑MySQL Data Import: Reducing Execution Time from 300 s to 4 s

This article describes how to dramatically speed up the import of 60,000+ XML records into MySQL by analyzing the original environment, measuring baseline performance, and applying a series of backend optimizations—including MySQL batch mode, rewriteBatchedStatements, multithreaded asynchronous writes with Disruptor, and XML parsing improvements—ultimately cutting the total runtime from five minutes to just a few seconds.

Batch ProcessingDisruptorMySQL
0 likes · 14 min read
Optimizing XML‑to‑MySQL Data Import: Reducing Execution Time from 300 s to 4 s
Selected Java Interview Questions
Selected Java Interview Questions
Jan 16, 2025 · Backend Development

Ten Reasons to Prefer Traditional for Loop Over Stream.forEach for List Traversal in Java

Through benchmark tests, memory analysis, and code examples, this article presents ten compelling reasons why using a traditional for loop to traverse Java Lists often outperforms Stream.forEach in terms of performance, memory usage, control flow, exception handling, mutability, debugging, readability, and state management.

BenchmarkPerformanceStream
0 likes · 16 min read
Ten Reasons to Prefer Traditional for Loop Over Stream.forEach for List Traversal in Java
Code Ape Tech Column
Code Ape Tech Column
Jan 16, 2025 · Backend Development

Using Maven Dependency Analysis to Detect Unused and Undeclared JARs

This article explains why Maven dependency analysis is essential for Java backend projects, demonstrates how to run the analysis with Maven and IntelliJ IDEA, interprets the warnings about used undeclared and unused declared dependencies, and provides best‑practice timing, risks, and shortcuts for maintaining clean dependency trees.

BackendDependency AnalysisIntelliJ IDEA
0 likes · 8 min read
Using Maven Dependency Analysis to Detect Unused and Undeclared JARs
Su San Talks Tech
Su San Talks Tech
Jan 16, 2025 · Backend Development

Boost Java Performance with Virtual Threads: A Hands‑On Guide

This article explains Java 21's virtual threads, their lightweight and auto‑managed nature, demonstrates basic usage and Spring Boot integration, compares performance against traditional threads, and offers additional Java performance tips for high‑concurrency applications.

PerformanceVirtual Threadsconcurrency
0 likes · 8 min read
Boost Java Performance with Virtual Threads: A Hands‑On Guide
FunTester
FunTester
Jan 16, 2025 · Backend Development

Mastering Byteman: Injecting Bytecode for Advanced Java Testing

Byteman is a powerful Java bytecode manipulation tool that lets developers inject custom code at runtime without recompiling, using an event‑condition‑action rule language to trace, modify execution flow, coordinate threads, and collect statistics, with detailed examples of rule syntax, binding, and built‑in actions.

Fault InjectionInstrumentationbytecode
0 likes · 12 min read
Mastering Byteman: Injecting Bytecode for Advanced Java Testing
Java Architect Essentials
Java Architect Essentials
Jan 15, 2025 · Backend Development

Designing and Implementing an OA Approval Workflow with Activiti: From BPMN Modeling to Spring Boot Integration

This article explains how to build a multi‑level office approval workflow using the Activiti engine, covering BPMN diagram design, deployment, Java code for process creation, task handling, gateway logic, database schema, API overview, framework comparisons, and further learning directions.

ActivitiBPMNWorkflow Engine
0 likes · 23 min read
Designing and Implementing an OA Approval Workflow with Activiti: From BPMN Modeling to Spring Boot Integration
Sohu Tech Products
Sohu Tech Products
Jan 15, 2025 · Backend Development

Deep Dive into Druid Connection Pool: Initialization, Retrieval, and Recycling Explained

This technical guide breaks down Alibaba's Druid JDBC connection pool, detailing its initialization process, how connections are fetched and returned, the internal threads and condition‑signal coordination, execution handling, recommended configurations, and monitoring integration, all illustrated with code snippets and diagrams.

Connection PoolDruidPerformance
0 likes · 23 min read
Deep Dive into Druid Connection Pool: Initialization, Retrieval, and Recycling Explained
Architect
Architect
Jan 15, 2025 · Backend Development

How Java 8 Functional Interfaces Can Eliminate Repetitive Validation Code

This article demonstrates how Java 8’s functional interfaces, especially Function and SFunction, can refactor repetitive data‑validation logic into a generic, reusable method, reducing boilerplate, improving readability, and enabling flexible validation scenarios such as checking column values, matching expected values, and verifying values against allowed lists.

Code RefactoringLambdadata validation
0 likes · 14 min read
How Java 8 Functional Interfaces Can Eliminate Repetitive Validation Code
Java Web Project
Java Web Project
Jan 15, 2025 · Backend Development

Why MyBatis foreach Batch Inserts Stall and How to Speed Them Up with ExecutorType.BATCH

The article investigates a MyBatis batch‑insert job that consumes excessive CPU and takes 14 minutes, explains why the foreach‑generated giant INSERT statement is inefficient, and demonstrates how switching to ExecutorType.BATCH or MyBatis dynamic‑SQL batch support reduces the runtime to under two seconds.

Batch InsertExecutorType.BATCHMySQL
0 likes · 10 min read
Why MyBatis foreach Batch Inserts Stall and How to Speed Them Up with ExecutorType.BATCH
Architecture Digest
Architecture Digest
Jan 15, 2025 · Backend Development

Advanced Lombok Annotations for Simplifying Java Backend Code

This article demonstrates how Lombok’s advanced annotations such as @RequiredArgsConstructor(onConstructor=@__(@Autowired)), @Delegate, @Cleanup, and the combination of @Builder with @Singular can automatically generate Spring‑compatible constructors, delegate methods, manage resources, and build immutable objects, thereby reducing boilerplate and improving code readability in Java backend development.

Lombokannotationscode-generation
0 likes · 7 min read
Advanced Lombok Annotations for Simplifying Java Backend Code
macrozheng
macrozheng
Jan 15, 2025 · Fundamentals

30 Must-Have IntelliJ IDEA Plugins to Supercharge Your Java Development

This guide presents a curated list of 30 essential IntelliJ IDEA plugins, covering code assistance, UI enhancements, project management, and productivity tools, with installation tips and screenshots, helping Java developers transform their IDE into a powerful one‑stop development environment.

PluginsProductivityjava
0 likes · 8 min read
30 Must-Have IntelliJ IDEA Plugins to Supercharge Your Java Development
macrozheng
macrozheng
Jan 15, 2025 · Backend Development

Boost PostgreSQL IN Query Performance with Spring AOP Parallel Splitting

This article explains how to improve PostgreSQL IN‑query performance in Spring Boot applications by splitting large IN parameter lists into smaller batches, executing them concurrently with a custom AOP annotation, and merging the results, providing a reusable annotation‑driven solution for high‑throughput backend services.

in-queryjavamultithreading
0 likes · 10 min read
Boost PostgreSQL IN Query Performance with Spring AOP Parallel Splitting
Java Tech Enthusiast
Java Tech Enthusiast
Jan 14, 2025 · Backend Development

Introducing LiteFlow: A Lightweight Java Rule Engine for Workflow Orchestration

LiteFlow is a lightweight Java rule engine that lets developers orchestrate serial and parallel business workflows using XML, JSON or YAML rule files stored in back‑ends like SQL or Zookeeper, offering NodeComponent, NodeSwitchComponent and NodeIfComponent types, EL syntax, Spring Boot integration, and high‑performance execution monitoring.

ELLiteFlowjava
0 likes · 8 min read
Introducing LiteFlow: A Lightweight Java Rule Engine for Workflow Orchestration
Selected Java Interview Questions
Selected Java Interview Questions
Jan 14, 2025 · Backend Development

Understanding the Chain of Responsibility Pattern and Its Combination with Strategy Pattern in Java

This article explains the Chain of Responsibility design pattern, its core concepts, characteristics, and problems it solves, then demonstrates how to combine it with the Strategy pattern through detailed Java code examples that illustrate a product‑up‑shelf validation workflow and a generic request‑handling scenario.

BackendChain of ResponsibilityStrategy Pattern
0 likes · 16 min read
Understanding the Chain of Responsibility Pattern and Its Combination with Strategy Pattern in Java
Java Web Project
Java Web Project
Jan 14, 2025 · Backend Development

Master Spring Boot CLI: Install, Run, Test, and Package Groovy Apps

This guide walks you through installing Spring Boot CLI, explains its Groovy‑based features, demonstrates creating and running a Hello World web app, shows how to use @Grab for dependencies, test with spring test, package into executable JARs, and explore init and shell commands.

BackendCLIGroovy
0 likes · 13 min read
Master Spring Boot CLI: Install, Run, Test, and Package Groovy Apps
Architecture & Thinking
Architecture & Thinking
Jan 14, 2025 · Backend Development

Master RocketMQ Basic Messages: Lifecycle, Code Samples & Use Cases

This guide explains Apache RocketMQ’s ordinary message concept, its full lifecycle, how to create topics, Java code for sending and receiving messages, key configuration tips, and real‑world scenarios such as asynchronous decoupling and traffic‑shaping for micro‑service architectures.

Distributed SystemsMessage QueueMicroservices
0 likes · 9 min read
Master RocketMQ Basic Messages: Lifecycle, Code Samples & Use Cases
Java Architect Essentials
Java Architect Essentials
Jan 14, 2025 · Databases

Implementing Online User Counting with Redis Sorted Sets (ZSET)

This article explains how to track online users by storing their identifiers in a Redis sorted set, using expiration timestamps as scores, and demonstrates adding, querying, and cleaning up entries with ZADD, ZRANGEBYSCORE, ZREMRANGEBYSCORE, and ZREM commands in both Java and JavaScript.

JavaScriptOnline UsersSorted Set
0 likes · 7 min read
Implementing Online User Counting with Redis Sorted Sets (ZSET)
Top Architecture Tech Stack
Top Architecture Tech Stack
Jan 14, 2025 · Databases

Analyzing MySQL Connection Latency in Java Web Applications

This article investigates the detailed steps and time consumption of establishing and closing a MySQL connection from a Java web application, using Wireshark packet captures and code examples to demonstrate why connection pooling is essential for high‑traffic services.

Connection PoolingDatabase ConnectionMySQL
0 likes · 7 min read
Analyzing MySQL Connection Latency in Java Web Applications
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Jan 14, 2025 · Backend Development

Mastering Java ThreadLocal: Core Operations, Map Structure, and Practical Examples

This article explains Java's ThreadLocal mechanism, detailing its internal ThreadLocalMap structure, core set/get/remove operations with full code examples, and demonstrates how multiple ThreadLocal variables are stored per thread, providing a clear understanding of thread‑local storage in backend development.

ThreadLocalThreadLocalMapbackend-development
0 likes · 6 min read
Mastering Java ThreadLocal: Core Operations, Map Structure, and Practical Examples
Architect
Architect
Jan 13, 2025 · Backend Development

Designing a Flexible Permission Control System with Java Annotations and Spring AOP

This article explains how to build a flexible, scalable permission control system in Java using custom annotations and Spring AOP, covering basic concepts, system requirements analysis, database schema design, annotation definitions, aspect implementation, and business logic services for comprehensive access management.

backend-developmentjavapermission control
0 likes · 19 min read
Designing a Flexible Permission Control System with Java Annotations and Spring AOP
IT Services Circle
IT Services Circle
Jan 13, 2025 · Backend Development

Compilation of Common Backend Interview Questions and Answers for Small Companies

This article presents a comprehensive collection of written‑test and interview questions covering Java basics, Spring MVC annotations, JVM memory, garbage collection, database design, transaction management, distributed systems, version control, and development workflow, aimed at helping candidates prepare for small‑company technical interviews.

BackendGitJVM
0 likes · 6 min read
Compilation of Common Backend Interview Questions and Answers for Small Companies
Top Architect
Top Architect
Jan 13, 2025 · Backend Development

Introducing LiteFlow: A Lightweight Rule Engine for Java Backend Applications

This article presents LiteFlow, a lightweight yet powerful rule engine built on Spring Boot, explains its architecture, component types, EL rule file syntax, data context handling, configuration options, and demonstrates a practical e‑commerce workflow example with full code snippets and deployment tips.

javaspring-boot
0 likes · 12 min read
Introducing LiteFlow: A Lightweight Rule Engine for Java Backend Applications
JD Cloud Developers
JD Cloud Developers
Jan 13, 2025 · Backend Development

How JD Logistics Optimizes Order Merging with Recursive Algorithms

This article explains the background, challenges, and recursive algorithmic solution JD Logistics uses to merge purchase orders, detailing the merging rules, code implementation, deduplication strategy, performance gains, and the resulting operational benefits such as increased merchant satisfaction and faster processing.

Logistics OptimizationRecursive Algorithmjava
0 likes · 11 min read
How JD Logistics Optimizes Order Merging with Recursive Algorithms
macrozheng
macrozheng
Jan 13, 2025 · Backend Development

Implement Dynamic Discount Rules in Spring Boot with Drools

This guide shows how to integrate the Drools rule engine into a Spring Boot application to calculate e‑commerce discounts dynamically, covering Maven dependencies, configuration, model definitions, DRL rule creation, service and controller layers, and a simple test scenario demonstrating rule‑driven discount computation.

BackendDroolsdiscount
0 likes · 11 min read
Implement Dynamic Discount Rules in Spring Boot with Drools
Senior Tony
Senior Tony
Jan 13, 2025 · Backend Development

How Java’s AQS Powers ReentrantLock – A Deep Dive into the Source

This article explains the core concepts of Java’s AbstractQueuedSynchronizer (AQS), its exclusive and shared modes, the template‑method design it uses, and walks through the actual source code showing how ReentrantLock implements both fair and non‑fair locking, complete with diagrams and code snippets for interview preparation.

AQSLockReentrantLock
0 likes · 10 min read
How Java’s AQS Powers ReentrantLock – A Deep Dive into the Source
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jan 13, 2025 · Backend Development

Master Spring Boot 3 API Versioning: 5 Practical Strategies

This article introduces a Spring Boot 3 case collection and details five practical methods—URL path, request parameter, request header, Accept header, and custom annotation—to implement API version control, complete with code examples and guidance for maintaining compatibility across multiple API versions.

API VersioningTutorialjava
0 likes · 8 min read
Master Spring Boot 3 API Versioning: 5 Practical Strategies
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Jan 13, 2025 · Backend Development

How Does Java’s volatile Keyword Ensure Thread Visibility and Prevent Reordering?

This article explains how Java's volatile keyword provides visibility guarantees and prevents instruction reordering through memory barriers, illustrates its behavior with code examples, discusses its limitations regarding atomicity, and outlines appropriate usage scenarios such as state flags and double‑checked locking.

Instruction Reorderingjavamemory barrier
0 likes · 9 min read
How Does Java’s volatile Keyword Ensure Thread Visibility and Prevent Reordering?
FunTester
FunTester
Jan 13, 2025 · Backend Development

Mastering Java’s Phaser: Advanced Thread Synchronization for Performance Testing

This article explains Java’s java.util.concurrent.Phaser class, compares it with CountDownLatch, details its core methods, demonstrates practical usage with code examples, and shows how to build a custom lightweight synchronization utility for performance testing scenarios.

PerformanceTestingPhaserThreadSynchronization
0 likes · 13 min read
Mastering Java’s Phaser: Advanced Thread Synchronization for Performance Testing
Architect
Architect
Jan 12, 2025 · Databases

How I Cut XML‑to‑MySQL Import Time from 300 s to 4 s

This article walks through a real‑world case of importing over 60,000 XML rows into MySQL, profiling the initial 300‑second runtime, and applying a series of optimizations—including JDBC batch processing, rewriteBatchedStatements, multithreaded asynchronous writes with Disruptor, and MySQL tuning—to achieve a final import time of around 4 seconds while managing memory usage.

Batch ProcessingDisruptorMySQL
0 likes · 13 min read
How I Cut XML‑to‑MySQL Import Time from 300 s to 4 s
Selected Java Interview Questions
Selected Java Interview Questions
Jan 12, 2025 · Information Security

Encrypting and Dynamically Decrypting Spring Boot JAR Files for Secure Deployment

This article demonstrates a practical approach to protect sensitive Spring Boot applications by encrypting the JAR with AES, storing the key in a secure vault, and using a custom ClassLoader to decrypt and load classes at runtime, while highlighting key management, performance, and additional hardening considerations.

AESJAR encryptionSecure Coding
0 likes · 8 min read
Encrypting and Dynamically Decrypting Spring Boot JAR Files for Secure Deployment
Architecture Digest
Architecture Digest
Jan 12, 2025 · Backend Development

Introducing magic-api: A Java Rapid Development Framework for Backend Interfaces

This article introduces magic-api, a Java‑based rapid development framework that lets developers create HTTP APIs without writing traditional Controllers, Services, or DAOs, and provides a UI for designing endpoints, extensive database support, clustering, Swagger integration, and a quick‑start guide with Maven and configuration examples.

APIFrameworkjava
0 likes · 4 min read
Introducing magic-api: A Java Rapid Development Framework for Backend Interfaces
Top Architect
Top Architect
Jan 11, 2025 · Backend Development

Liteflow Rule Engine: Concepts, Usage, and Business Practice

This article introduces the Liteflow rule engine, explains its architecture and supported file formats, demonstrates how to configure and use it with Spring Boot, details component types and EL rule files, and showcases a practical e‑commerce workflow example with code snippets.

javarule enginespring-boot
0 likes · 11 min read
Liteflow Rule Engine: Concepts, Usage, and Business Practice
ITPUB
ITPUB
Jan 11, 2025 · Operations

Why Using kill ‑9 Is Risky and How to Shut Down Processes Gracefully

The article explains the true purpose of the Linux kill command, compares signals like SIGTERM and SIGKILL, warns about the dangers of force‑killing processes, and provides practical Java shutdown‑hook examples and a shell script for safe, graceful termination.

Graceful ShutdownKill CommandLinux
0 likes · 7 min read
Why Using kill ‑9 Is Risky and How to Shut Down Processes Gracefully
Architecture Digest
Architecture Digest
Jan 10, 2025 · Backend Development

Implementing a Distributed Redis Lock with Spring AOP and Automatic Renewal

This article explains how to protect time‑consuming business operations and critical data by designing a Redis‑based distributed lock using custom annotations, Spring AOP, and a ScheduledExecutorService that automatically extends the lock’s expiration to avoid premature release.

ScheduledExecutorServiceconcurrencydistributed-lock
0 likes · 11 min read
Implementing a Distributed Redis Lock with Spring AOP and Automatic Renewal
php Courses
php Courses
Jan 10, 2025 · Backend Development

Top PHP Alternatives for Web Development

This article reviews the most popular programming languages that can serve as alternatives to PHP for web development, evaluating each option’s performance, ecosystem, and suitability for server‑side projects, and offers guidance on selecting the best replacement based on project requirements.

BackendNode.jsPHP
0 likes · 7 min read
Top PHP Alternatives for Web Development
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Jan 10, 2025 · Backend Development

Mastering CountDownLatch and CyclicBarrier: Java Concurrency Made Simple

CountDownLatch and CyclicBarrier are two essential Java synchronization tools from java.util.concurrent, enabling threads to coordinate tasks; this guide explains their concepts, usage with code examples, advantages, disadvantages, and key differences, helping developers choose the right tool for thread coordination.

CountDownLatchCyclicBarrierconcurrency
0 likes · 10 min read
Mastering CountDownLatch and CyclicBarrier: Java Concurrency Made Simple
FunTester
FunTester
Jan 10, 2025 · Backend Development

Seamlessly Call Go Functions from Java Using JNI: A Step‑by‑Step Guide

Learn how to integrate Go and Java by compiling Go code into a shared library, exposing functions via cgo and JNI, and invoking them from Java with detailed setup, code examples, handling of primitive and complex data types, and full build‑and‑run instructions.

GoInteroperabilityJNI
0 likes · 12 min read
Seamlessly Call Go Functions from Java Using JNI: A Step‑by‑Step Guide
Zhuanzhuan Tech
Zhuanzhuan Tech
Jan 9, 2025 · Databases

Understanding Druid Connection Pool: Initialization, Connection Acquisition, Execution, and Recycling

This article provides a comprehensive technical walkthrough of the Druid database connection pool, covering its architecture, initialization flow, connection acquisition and release mechanisms, execution and exception handling, as well as recommended configurations and monitoring practices for optimal performance.

Connection PoolDruiddatabase
0 likes · 23 min read
Understanding Druid Connection Pool: Initialization, Connection Acquisition, Execution, and Recycling
JD Tech Talk
JD Tech Talk
Jan 9, 2025 · Artificial Intelligence

Practical Guide to Building Retrieval‑Augmented Generation (RAG) Applications with LangChain4j in Java

This article provides a step‑by‑step tutorial for Java engineers on using the LangChain4j framework to implement Retrieval‑Augmented Generation (RAG) with large language models, covering concepts, environment setup, code integration, document splitting, embedding, vector‑store operations, and prompt engineering.

EmbeddingLangChain4jRAG
0 likes · 35 min read
Practical Guide to Building Retrieval‑Augmented Generation (RAG) Applications with LangChain4j in Java
JD Cloud Developers
JD Cloud Developers
Jan 9, 2025 · Artificial Intelligence

Boost Your Java Apps with LangChain4j: A Hands‑On RAG Guide

This article walks Java developers through the fundamentals of Retrieval‑Augmented Generation (RAG), explains the LangChain4j framework, compares large‑model development with traditional Java coding, and provides step‑by‑step code examples for environment setup, document splitting, embedding, vector‑store operations, and LLM interaction.

EmbeddingLangChain4jRAG
0 likes · 34 min read
Boost Your Java Apps with LangChain4j: A Hands‑On RAG Guide
FunTester
FunTester
Jan 9, 2025 · Backend Development

Understanding and Using CountDownLatch in Java Concurrency

This article explains the purpose, basic methods, best‑practice usage, and typical scenarios of Java's CountDownLatch utility, providing code examples and a comparison with Thread.sleep to help developers synchronize multiple threads effectively.

CountDownLatchbackend-developmentjava
0 likes · 9 min read
Understanding and Using CountDownLatch in Java Concurrency
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Jan 9, 2025 · Fundamentals

Master Java Thread Communication: wait/notify, Locks, Conditions & BlockingQueue

This article explores Java's thread communication techniques—including the basic wait/notify mechanism, advanced Lock and Condition usage, and the thread‑safe BlockingQueue—providing detailed explanations, producer‑consumer examples, and additional concurrency utilities like CountDownLatch, illustrating how to coordinate threads efficiently in multithreaded applications.

BlockingQueueConditionCountDownLatch
0 likes · 18 min read
Master Java Thread Communication: wait/notify, Locks, Conditions & BlockingQueue
DaTaobao Tech
DaTaobao Tech
Jan 8, 2025 · Fundamentals

Domain‑Driven and Process‑Driven Code Design Patterns

The article proposes a domain‑model‑driven code paradigm—defining clear business models, core domain objects, and infrastructure abstractions like repositories, facades, and factories—while contrasting it with process‑driven designs using ability nodes and chains, arguing that these patterns cut repetitive effort and boost maintainability.

Ability PatternDomain-Driven DesignProcess-Driven
0 likes · 16 min read
Domain‑Driven and Process‑Driven Code Design Patterns
vivo Internet Technology
vivo Internet Technology
Jan 8, 2025 · Cloud Native

vivo Internet Technology 2024 Year-End Technical Review

In its 2024 year‑end review, vivo Internet Technology published 44 technical articles, delivered 19 presentations on cloud‑native, AI, security and more, joined major open‑source foundations such as Linux, CNCF and CCF, and grew a community of over 70,000 technical professionals.

CI/CDDistributed SystemsMySQL
0 likes · 8 min read
vivo Internet Technology 2024 Year-End Technical Review
JD Cloud Developers
JD Cloud Developers
Jan 8, 2025 · Backend Development

How to Dynamically Switch Databases in MyBatis Using a JSqlParser Interceptor

This article explains how to query multiple identical databases under a single data source by intercepting MyBatis SqlSource, using JSqlParser to prepend the appropriate database name to table references, and applying the decorator pattern for seamless dynamic database switching.

Dynamic Database SwitchingJSqlParserSQL interceptor
0 likes · 6 min read
How to Dynamically Switch Databases in MyBatis Using a JSqlParser Interceptor
Top Architect
Top Architect
Jan 8, 2025 · Backend Development

Implementing Data Permission Interceptor in MyBatis‑Plus with Custom Annotations

This article explains how to create a custom annotation and a MyBatis‑Plus interceptor that automatically injects data‑permission SQL conditions based on the current user's role, showing both a basic implementation and an advanced version with role‑based scope handling, complete with code examples and integration steps.

Data PermissionInterceptorbackend-development
0 likes · 16 min read
Implementing Data Permission Interceptor in MyBatis‑Plus with Custom Annotations
Java Tech Enthusiast
Java Tech Enthusiast
Jan 8, 2025 · Fundamentals

The Evolution of Smalltalk, Strongtalk, HotSpot, V8, and Dart: A Journey Through Virtual Machines

From Smalltalk’s pioneering pure‑object orientation, through Strongtalk’s static typing and Sun’s HotSpot JVM, to Lars Bak’s V8 JavaScript engine and the subsequent Dart language, a handful of innovators—including Gilad Bracha, Urs Hölzle, and Bak himself—have continually reshaped virtual‑machine performance and modern programming ecosystems.

DARTV8java
0 likes · 7 min read
The Evolution of Smalltalk, Strongtalk, HotSpot, V8, and Dart: A Journey Through Virtual Machines
Selected Java Interview Questions
Selected Java Interview Questions
Jan 8, 2025 · Backend Development

Understanding Spring Dependency Injection: Constructor, Setter, and Field Injection

This article explains why Spring Framework discourages field injection with @Autowired, compares constructor, setter, and field injection types, provides code examples for each, and discusses the drawbacks of field injection such as immutability issues, violation of single‑responsibility principle, tight coupling to the container, and hidden dependencies.

AutowiredConstructor InjectionField Injection
0 likes · 8 min read
Understanding Spring Dependency Injection: Constructor, Setter, and Field Injection
Su San Talks Tech
Su San Talks Tech
Jan 8, 2025 · Backend Development

How DynamicTp Enables Real‑Time Thread Pool Monitoring and Auto‑Tuning in Java

DynamicTp extends Java's ThreadPoolExecutor with zero‑intrusion configuration, real‑time parameter adjustment, comprehensive monitoring, and multi‑channel alerting, allowing developers to dynamically tune thread pools across microservices using popular configuration centers and integrate with tools like Micrometer and Grafana.

DynamicTpMicrometerSpringBoot
0 likes · 11 min read
How DynamicTp Enables Real‑Time Thread Pool Monitoring and Auto‑Tuning in Java