Tagged articles
2072 articles
Page 12 of 21
HomeTech
HomeTech
May 11, 2022 · Fundamentals

Go Language Overview, Project Practices, and New Features in Go 1.18

This article introduces the Go programming language, showcases several high‑traffic production projects built with Go at Autohome, and explains the major Go 1.18 enhancements such as generics, workspaces, and fuzzing, while providing performance comparisons, code samples, and practical optimization tips.

BackendGenericsconcurrency
0 likes · 21 min read
Go Language Overview, Project Practices, and New Features in Go 1.18
Zhuanzhuan Tech
Zhuanzhuan Tech
May 11, 2022 · Backend Development

Evolution of Grouped Concurrency Scheduling and the Self‑Driven Concurrency Model for E‑commerce Backend Services

This article analyzes the challenges of aggregating multiple RPC calls in e‑commerce app backends, explains simple and complex concurrency scenarios, introduces grouped concurrency scheduling, and presents a self‑driven concurrency model that automates dependency handling to improve response latency and maintainability.

BackendMicroservicesScheduling
0 likes · 10 min read
Evolution of Grouped Concurrency Scheduling and the Self‑Driven Concurrency Model for E‑commerce Backend Services
Programmer DD
Programmer DD
May 3, 2022 · Backend Development

Mastering Spring Kafka Listeners: Containers, Concurrency, and @KafkaListener

This article explains how Spring Kafka’s KafkaMessageListenerContainer and ConcurrentMessageListenerContainer work, details their start-up process and internal consumer threads, shows how @KafkaListener bridges business logic, and provides configuration examples for single‑message and batch processing in Spring Boot.

KafkaMessage Listenerbackend-development
0 likes · 11 min read
Mastering Spring Kafka Listeners: Containers, Concurrency, and @KafkaListener
Sanyou's Java Diary
Sanyou's Java Diary
May 3, 2022 · Backend Development

Mastering Java Thread Pools: Architecture, Lifecycle, and Customization

This comprehensive guide explains the concept, construction, execution flow, thread reuse, task timeout, pool states, shutdown mechanisms, monitoring methods, and practical customization strategies for Java ThreadPoolExecutor, helping developers design efficient and safe thread pools for real‑world applications.

Java MultithreadingThreadPoolExecutorconcurrency
0 likes · 16 min read
Mastering Java Thread Pools: Architecture, Lifecycle, and Customization
Su San Talks Tech
Su San Talks Tech
May 2, 2022 · Fundamentals

12 Real-World Java Concurrency Scenarios Every Developer Should Master

This article explores twelve practical multithreading use cases in Java, ranging from simple scheduled tasks and listeners to Excel imports, remote call aggregation, user context handling, MDC logging, high‑concurrency simulation, Kafka message processing, atomic counters, and delayed jobs, providing code examples and best‑practice tips for each scenario.

ParallelStreamThreadPoolconcurrency
0 likes · 25 min read
12 Real-World Java Concurrency Scenarios Every Developer Should Master
Cognitive Technology Team
Cognitive Technology Team
Apr 30, 2022 · Fundamentals

Java Thread States and How to Query Them

This article explains Java’s six thread states—NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, and TERMINATED—provides detailed descriptions, shows how to inspect thread states using jstack and online tools, and includes example thread dumps for practical analysis.

Threadconcurrencyjava
0 likes · 6 min read
Java Thread States and How to Query Them
dbaplus Community
dbaplus Community
Apr 30, 2022 · Backend Development

Master the Five ‘Optimization Secrets’: Pooling, Sequencing, Batching, Reduction, and Concurrency

This article presents five practical performance‑optimization principles—pooling, sequential I/O, batching, reduction, and concurrency—explaining their rationale, real‑world examples such as object pools, ordered reads, batch APIs in MySQL/Redis/Kafka, sharding strategies, read/write separation, and common concurrency anomalies, while highlighting trade‑offs and implementation tips.

Backendconcurrencyoptimization
0 likes · 19 min read
Master the Five ‘Optimization Secrets’: Pooling, Sequencing, Batching, Reduction, and Concurrency
Top Architect
Top Architect
Apr 29, 2022 · Backend Development

Understanding Spring MVC Controller Singleton Scope and Thread Safety

The article explains that Spring MVC Controllers are singleton beans by default, discusses the thread‑safety risks of using instance variables in such Controllers, and presents several solutions—including prototype scope, ThreadLocal, and AtomicInteger—to ensure safe concurrent handling of requests.

ControllerSingletonSpring MVC
0 likes · 7 min read
Understanding Spring MVC Controller Singleton Scope and Thread Safety
IT Architects Alliance
IT Architects Alliance
Apr 29, 2022 · Fundamentals

Why Your Java Producer‑Consumer Code Deadlocks and How to Fix It

This article explains the root causes of thread‑safety problems in Java producer‑consumer scenarios, demonstrates how race conditions and deadlocks arise, and provides step‑by‑step solutions using synchronized blocks, wait/notify, notifyAll, and explicit Lock with Condition objects.

LockProducer Consumerconcurrency
0 likes · 20 min read
Why Your Java Producer‑Consumer Code Deadlocks and How to Fix It
IT Architects Alliance
IT Architects Alliance
Apr 29, 2022 · R&D Management

30 Essential Architecture Principles Every Software Architect Should Follow

This article presents thirty practical software‑architecture principles—from keeping designs simple and avoiding unnecessary features to mastering concurrency, distributed systems, and user experience—providing a comprehensive guide that helps architects make informed, ROI‑driven decisions while fostering scalable, maintainable solutions.

Distributed SystemsMVPR&D management
0 likes · 11 min read
30 Essential Architecture Principles Every Software Architect Should Follow
MaGe Linux Operations
MaGe Linux Operations
Apr 28, 2022 · Backend Development

How to Prevent HTTP 429 Errors with a Simple Go Request Queue

This article explains how to avoid HTTP 429 rate‑limit errors when calling third‑party APIs by wrapping each request in a struct and processing them through a channel‑based request queue written in Go, complete with usage examples and optional throttling.

APIGoRequest Queue
0 likes · 5 min read
How to Prevent HTTP 429 Errors with a Simple Go Request Queue
Top Architect
Top Architect
Apr 27, 2022 · Fundamentals

Understanding Thread Safety, Synchronization, and Locks in Java

This article explains the fundamentals of thread safety in Java, illustrating common pitfalls in producer‑consumer scenarios, demonstrating how synchronized, wait/notify, and the explicit Lock/Condition mechanisms can be used to avoid data races, deadlocks, and inconsistent state while providing complete code examples.

LockSynchronizationconcurrency
0 likes · 20 min read
Understanding Thread Safety, Synchronization, and Locks in Java
Programmer DD
Programmer DD
Apr 27, 2022 · Fundamentals

8 Little‑Known Java APIs That Can Supercharge Your Code

This article introduces eight lesser-known but highly useful Java APIs—including DelayQueue, the “B” DateTimeFormatter pattern, StampedLock, LongAccumulator, HexFormat, binarySearch, BitSet, and Phaser—explaining their purpose, usage, and providing code snippets that demonstrate how they can simplify concurrency, time handling, and data manipulation.

APIAdvancedconcurrency
0 likes · 9 min read
8 Little‑Known Java APIs That Can Supercharge Your Code
Top Architect
Top Architect
Apr 25, 2022 · Backend Development

Comprehensive Guide to Disruptor: Core Concepts, Implementation, and Demo in Java

This article introduces the high‑performance Disruptor library, explains its background, core concepts such as RingBuffer, Sequence, Sequencer, and WaitStrategy, and provides a step‑by‑step Java implementation with Maven dependencies, event factories, handlers, producers, and a runnable test case.

DisruptorHighPerformanceMessageQueue
0 likes · 12 min read
Comprehensive Guide to Disruptor: Core Concepts, Implementation, and Demo in Java
Cognitive Technology Team
Cognitive Technology Team
Apr 25, 2022 · Backend Development

Preventing ThreadLocal Information Loss in Multithreaded Java Applications by Implementing Custom Runnable and Callable (Hystrix Example)

This article explains why ThreadLocal variables can lose their values when used across thread pools, and demonstrates how to create custom Runnable and Callable wrappers that propagate HystrixRequestContext to ensure reliable ThreadLocal transmission in multithreaded Java environments.

CallableContextPropagationHystrix
0 likes · 8 min read
Preventing ThreadLocal Information Loss in Multithreaded Java Applications by Implementing Custom Runnable and Callable (Hystrix Example)
Code Ape Tech Column
Code Ape Tech Column
Apr 25, 2022 · Backend Development

Deep Dive into Java ForkJoinPool: Design, Implementation, and Usage

This article explains the divide‑and‑conquer principle, the internal design of Java's ForkJoinPool, its core classes (ForkJoinTask, ForkJoinWorkerThread, WorkQueue), key methods for task submission, work stealing, thread management, and provides practical code examples to illustrate how to implement and use fork/join parallelism effectively.

ForkJoinPoolParallelismWorkStealing
0 likes · 48 min read
Deep Dive into Java ForkJoinPool: Design, Implementation, and Usage
Cognitive Technology Team
Cognitive Technology Team
Apr 24, 2022 · Backend Development

Pitfalls of Using ThreadLocal for User Context in Java Applications

Using ThreadLocal to store user information in Java web applications can lead to hidden failures such as loss of context and memory leaks, especially when thread pools are involved, so developers should restrict its usage to controller threads and employ static analysis tools to detect improper usage.

MemoryLeakThreadLocalThreadPool
0 likes · 4 min read
Pitfalls of Using ThreadLocal for User Context in Java Applications
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Apr 22, 2022 · Fundamentals

Understanding Linux Kernel Mutex: Mechanism, Data Structures, and APIs

The Linux kernel’s mutex is a sleeping lock that serializes access by sleeping threads, enforces strict ownership rules, uses a state flag with a wait list and per‑CPU optimistic spin queue, offers APIs like mutex_init, lock, unlock and trylock, and employs handoff and MCS‑style spinning to improve performance, with OPPO’s team optimizing it to reduce UI jank.

Linux kernelSynchronizationconcurrency
0 likes · 16 min read
Understanding Linux Kernel Mutex: Mechanism, Data Structures, and APIs
Top Architect
Top Architect
Apr 22, 2022 · Backend Development

Understanding Mutual Exclusion and Idempotency in Distributed Systems: Distributed Locks, ReentrantLock, Zookeeper, Redis, and GTIS

This article explains the mutual‑exclusion and idempotency challenges in distributed environments, analyzes multi‑thread and multi‑process solutions, introduces the principles and implementations of distributed locks (including ReentrantLock, synchronized, Zookeeper, Redis, Tair, and the Cerberus framework), and presents GTIS as a reliable idempotency guard.

IdempotencyZooKeeperconcurrency
0 likes · 32 min read
Understanding Mutual Exclusion and Idempotency in Distributed Systems: Distributed Locks, ReentrantLock, Zookeeper, Redis, and GTIS
Zhuanzhuan Tech
Zhuanzhuan Tech
Apr 20, 2022 · Backend Development

Transaction Middleware: FSM and Concurrency Model Practices and Exploration

This article examines the challenges faced by a transaction middleware platform, introduces a finite‑state‑machine (FSM) solution for order state flows, and compares traditional serial processing with future‑based staged concurrency and event‑driven concurrency models, highlighting their benefits and trade‑offs.

BackendEvent-drivenFinite State Machine
0 likes · 11 min read
Transaction Middleware: FSM and Concurrency Model Practices and Exploration
Selected Java Interview Questions
Selected Java Interview Questions
Apr 19, 2022 · Backend Development

Implementing Distributed Locks in Java: Database, Redis, and Zookeeper Solutions

This article explains the concept of distributed locks, compares three common implementation schemes—database unique indexes, Redis SETNX, and Zookeeper temporary sequential nodes—and provides complete Java code examples for each, along with analysis of re‑entrancy, lock release timing, and single‑point failures.

BackendZooKeeperconcurrency
0 likes · 13 min read
Implementing Distributed Locks in Java: Database, Redis, and Zookeeper Solutions
macrozheng
macrozheng
Apr 19, 2022 · Backend Development

Why Java Virtual Threads Are a Game-Changer for High-Concurrency Backends

Java virtual threads, introduced in JEP 425, provide a lightweight, low‑cost alternative to traditional platform threads, enabling massive concurrency without the overhead of OS threads, improving throughput for server‑side applications while preserving familiar APIs and enhancing observability.

JEP425Thread APIVirtual Threads
0 likes · 9 min read
Why Java Virtual Threads Are a Game-Changer for High-Concurrency Backends
Python Programming Learning Circle
Python Programming Learning Circle
Apr 15, 2022 · Fundamentals

Why Python Struggles with Large Projects: Variable Declarations, Module Management, Dependencies, and Concurrency

The article examines the challenges of using Python for large-scale projects, highlighting issues such as implicit variable declarations, complex module dependencies, version conflicts, the Global Interpreter Lock, and concurrency limitations, while comparing Python to languages like C, Go, and Java.

GILModulesPython
0 likes · 13 min read
Why Python Struggles with Large Projects: Variable Declarations, Module Management, Dependencies, and Concurrency
Programmer DD
Programmer DD
Apr 13, 2022 · Backend Development

Unlock Massive Throughput with Java’s New Virtual Threads (JEP 425)

This article explains Java's preview virtual threads (JEP 425), how they differ from traditional platform threads, demonstrates their superior scalability with code examples, and provides step‑by‑step instructions to enable them in the JDK.

ExecutorServiceJEP425Virtual Threads
0 likes · 8 min read
Unlock Massive Throughput with Java’s New Virtual Threads (JEP 425)
Java High-Performance Architecture
Java High-Performance Architecture
Apr 13, 2022 · Backend Development

Mastering Asynchronous Execution in Spring Boot: From @Async to CompletableFuture

This article explains multiple ways to implement asynchronous processing in Spring Boot, covering @Async annotation, CompletableFuture, supplyAsync, runAsync, WebAsyncTask, DeferredResult, custom interceptors, and server configuration tweaks such as Tomcat connection limits and switching to Undertow.

AsynchronousCompletableFutureSpring Boot
0 likes · 11 min read
Mastering Asynchronous Execution in Spring Boot: From @Async to CompletableFuture
MaGe Linux Operations
MaGe Linux Operations
Apr 12, 2022 · Backend Development

Understanding Go’s CSP Model: Goroutine, Channel, Scheduler

This article explains Go’s concurrency fundamentals, distinguishing concurrency from parallelism, describing the CSP model built on goroutines and channels, and detailing the underlying M‑P‑G scheduler architecture—including thread models, runqueues, and load balancing—providing a comprehensive overview for developers.

CSPChannelGo
0 likes · 11 min read
Understanding Go’s CSP Model: Goroutine, Channel, Scheduler
Baidu Geek Talk
Baidu Geek Talk
Apr 12, 2022 · Backend Development

Five Practical Go Tips: Ballast Optimization, Benchmark & pprof, Testing Stubs, OOM Caused by Locks, and Memory Synchronization in Concurrency

This guide presents five practical Go techniques—using a large ballast slice to control GC timing, leveraging benchmark and pprof for performance profiling, applying the monkey library for test stubbing, avoiding unreleased locks that cause OOM, and employing proper synchronization primitives to prevent stale memory reads.

Goconcurrencytesting
0 likes · 12 min read
Five Practical Go Tips: Ballast Optimization, Benchmark & pprof, Testing Stubs, OOM Caused by Locks, and Memory Synchronization in Concurrency
Java High-Performance Architecture
Java High-Performance Architecture
Apr 10, 2022 · Backend Development

Mastering Redis Distributed Locks with Jedis: Build a 100k-User Flash Sale Simulation

This article demonstrates how to implement Redis distributed locks using Jedis in Java, covering lock creation with SETNX, lock release via Lua scripts, and a high‑concurrency flash‑sale simulation with 100,000 virtual users, illustrating key concepts such as lock expiration, atomic operations, and performance testing.

JedisSpringBootconcurrency
0 likes · 10 min read
Mastering Redis Distributed Locks with Jedis: Build a 100k-User Flash Sale Simulation
Cognitive Technology Team
Cognitive Technology Team
Apr 9, 2022 · Backend Development

When Does ThreadPoolExecutor’s RejectedExecutionHandler Trigger and How to Use Its Implementations in Java

This article explains the conditions that cause ThreadPoolExecutor’s RejectedExecutionHandler to fire, reviews the built‑in policies such as DiscardOldestPolicy, AbortPolicy, CallerRunsPolicy and DiscardPolicy, provides their source code, and offers practical advice on selecting and avoiding pitfalls when handling rejected tasks in Java concurrency.

RejectedExecutionHandlerThreadPoolExecutorbackend-development
0 likes · 5 min read
When Does ThreadPoolExecutor’s RejectedExecutionHandler Trigger and How to Use Its Implementations in Java
Baidu Geek Talk
Baidu Geek Talk
Apr 8, 2022 · Artificial Intelligence

Golang Object Pool for Reducing GC Pressure, FFmpeg Concurrency Control, and Paddle Static vs. Dynamic Graphs

The article explains how Go's lock‑free sync.Pool can cut garbage‑collection overhead, shows practical FFmpeg thread‑parameter tuning that balances CPU use and latency for video filtering versus encoding, and compares PaddlePaddle's static and dynamic graph modes, including debugging tips and conversion to static.

Deep LearningDynamic GraphStatic Graph
0 likes · 13 min read
Golang Object Pool for Reducing GC Pressure, FFmpeg Concurrency Control, and Paddle Static vs. Dynamic Graphs
Efficient Ops
Efficient Ops
Apr 6, 2022 · Operations

How Many TCP Connections Can One Server Really Handle? A Deep Dive

This article demystifies the common confusion about a server’s maximum concurrent TCP connections, explaining the theoretical limits of the TCP four‑tuple, Linux file‑descriptor restrictions, kernel buffer settings, and demonstrates achieving one million active connections through careful configuration and tuning.

Server TuningTCPconcurrency
0 likes · 7 min read
How Many TCP Connections Can One Server Really Handle? A Deep Dive
IT Architects Alliance
IT Architects Alliance
Apr 5, 2022 · Backend Development

Understanding Java Timers, DelayQueue, ScheduledThreadPoolExecutor, and Time‑Wheel Algorithms

This article explains the concepts, use cases, and internal implementations of Java's Timer, DelayQueue, and ScheduledThreadPoolExecutor, compares their performance characteristics, and introduces the time‑wheel scheduling algorithm—including hierarchical wheels—to address scalability challenges in high‑volume timed‑task systems.

DelayQueueScheduledThreadPoolExecutorScheduling
0 likes · 12 min read
Understanding Java Timers, DelayQueue, ScheduledThreadPoolExecutor, and Time‑Wheel Algorithms
IT Services Circle
IT Services Circle
Apr 3, 2022 · Backend Development

Four Ways to Determine When a Java ThreadPool Has Completed All Tasks

This article explains four practical techniques—using isTerminated, comparing task counts, CountDownLatch, and CyclicBarrier—to reliably detect when a Java ThreadPoolExecutor has finished executing all submitted tasks, including code examples, advantages, disadvantages, and a summary of each method.

CountDownLatchCyclicBarrierThreadPool
0 likes · 12 min read
Four Ways to Determine When a Java ThreadPool Has Completed All Tasks
Tencent Cloud Developer
Tencent Cloud Developer
Mar 30, 2022 · Backend Development

Go High-Performance Programming: Concurrency Optimization Techniques

This article, the second in a Go high‑performance series, details concurrency optimizations including lock‑free data structures versus locked lists, sharding and RWMutex to cut lock contention, controlling goroutine creation with pooling, using sync.Once for cheap one‑time initialization, and employing sync.Cond for efficient goroutine notification.

GoGoroutineRWMutex
0 likes · 30 min read
Go High-Performance Programming: Concurrency Optimization Techniques
FunTester
FunTester
Mar 28, 2022 · Backend Development

Why LongAdder Beats AtomicLong in High‑Concurrency Java Performance Tests

This article explains how Java's LongAdder works, compares its API and performance to AtomicLong, provides usage examples and a benchmark showing its superior throughput under high thread contention, while noting its higher memory cost and appropriate scenarios for adoption.

Performance Testingatomiclongconcurrency
0 likes · 7 min read
Why LongAdder Beats AtomicLong in High‑Concurrency Java Performance Tests
High Availability Architecture
High Availability Architecture
Mar 24, 2022 · Backend Development

Understanding Go's Goroutine Scheduling: Design Principles, GMP Model, and Optimizations

The article reviews Dmitry Vyukov's 2019 talk on Go's goroutine scheduler, explains the GMP (goroutine‑M‑Processor) model, walks through its evolution from naive thread‑per‑goroutine to thread pools and work‑stealing, and discusses fairness, pre‑emptive scheduling, and possible future improvements.

GMP modelGoGoroutine
0 likes · 14 min read
Understanding Go's Goroutine Scheduling: Design Principles, GMP Model, and Optimizations
vivo Internet Technology
vivo Internet Technology
Mar 23, 2022 · Backend Development

Understanding the Time Wheel Mechanism in Dubbo and Redisson

The article explains why a time‑wheel scheduler outperforms traditional timers, describes single‑ and multi‑layer wheel designs, and walks through Apache Dubbo’s HashedWheelTimer implementation—including TimerTask, Timeout, bucket and worker components—showing its use in Dubbo heartbeats and Redisson lock renewal.

DubboSchedulingTime Wheel
0 likes · 23 min read
Understanding the Time Wheel Mechanism in Dubbo and Redisson
Top Architect
Top Architect
Mar 22, 2022 · Backend Development

Cache Update Strategies: Consistency, Concurrency, and Failure Handling

The article analyzes various cache update strategies—including delete‑then‑write, write‑then‑delete, and asynchronous binlog subscription—examining their impact on system throughput, concurrency safety, failure scenarios, and fault detection to ensure data consistency between cache and database.

BackendCacheConsistency
0 likes · 6 min read
Cache Update Strategies: Consistency, Concurrency, and Failure Handling
Alibaba Cloud Developer
Alibaba Cloud Developer
Mar 18, 2022 · Backend Development

13 Crucial Java Practices Every Developer Should Follow

This article examines fifteen common Java pitfalls and best‑practice guidelines—ranging from property copying and date formatting to HashMap sizing, thread‑pool creation, collection handling, logging, and serialization—explaining why each recommendation exists and how it impacts performance and safety.

Collectionsconcurrencyjava
0 likes · 9 min read
13 Crucial Java Practices Every Developer Should Follow
Tencent Cloud Developer
Tencent Cloud Developer
Mar 17, 2022 · Fundamentals

Understanding Go's Goroutine Scheduler: Design, GMP Model, and Optimizations

The article explains Go’s GMP‑based goroutine scheduler, detailing how logical processors, thread‑local queues, and work‑stealing replace a naïve one‑goroutine‑per‑thread model, and discusses fairness, cooperative preemption, current limitations, and future optimizations compared with custom coroutine frameworks.

GMP modelGoGoroutine
0 likes · 14 min read
Understanding Go's Goroutine Scheduler: Design, GMP Model, and Optimizations
政采云技术
政采云技术
Mar 17, 2022 · Databases

InnoDB Lock System: Types, Modes, Structures, and Compatibility

This article explains InnoDB's lock system in MySQL, covering lock granularity, intent, shared, exclusive and auto‑increment locks, row‑lock types, the underlying C++ structures, lock mode and type encoding, and the compatibility and strength matrices that govern lock acquisition and waiting.

InnoDBc++concurrency
0 likes · 13 min read
InnoDB Lock System: Types, Modes, Structures, and Compatibility
FunTester
FunTester
Mar 16, 2022 · Backend Development

Why Disruptor’s Default ExceptionHandler Crashes Your QPS and How to Fix It

When using the Disruptor library for high‑throughput testing, the default FatalExceptionHandler can repeatedly abort consumer threads on exceptions, causing QPS to drop to zero, but replacing it with an ignore handler or a custom implementation restores stability.

BackendDisruptorExceptionHandler
0 likes · 4 min read
Why Disruptor’s Default ExceptionHandler Crashes Your QPS and How to Fix It
Programmer DD
Programmer DD
Mar 15, 2022 · Backend Development

Essential Java Books Every Backend Engineer Should Read

This guide highlights the most influential Java books—from core language fundamentals and JVM internals to concurrency and effective coding practices—explaining why each title is vital for building a solid backend development skill set.

JVMbackend-developmentconcurrency
0 likes · 8 min read
Essential Java Books Every Backend Engineer Should Read
Ziru Technology
Ziru Technology
Mar 15, 2022 · Backend Development

Unlocking Java Concurrency: How CountDownLatch Works Inside JDK 1.8

This article explores the inner workings of Java’s CountDownLatch from JDK 1.8, detailing its core concepts such as the counter, thread synchronization, shared mode, and AQS mechanisms, and demonstrates practical usage through step‑by‑step code analysis and examples.

AQSCountDownLatchbackend-development
0 likes · 5 min read
Unlocking Java Concurrency: How CountDownLatch Works Inside JDK 1.8
Code Ape Tech Column
Code Ape Tech Column
Mar 10, 2022 · Backend Development

10 Common Pitfalls in Java Concurrency and How to Avoid Them

This article outlines ten typical concurrency pitfalls in Java—including SimpleDateFormat thread‑safety, double‑checked locking flaws, volatile atomicity limits, deadlocks, lock release issues, HashMap race conditions, default thread‑pool misuse, @Async thread explosion, spin‑lock CPU waste, and ThreadLocal memory leaks—providing explanations, code examples, and practical solutions for each.

concurrencyjavamultithreading
0 likes · 20 min read
10 Common Pitfalls in Java Concurrency and How to Avoid Them
Architects' Tech Alliance
Architects' Tech Alliance
Mar 8, 2022 · Backend Development

30 Architectural Principles for Software Engineers

The article presents thirty practical architectural principles—ranging from simplicity, YAGNI, iterative development, automated testing, and ROI to server concurrency, distributed system design, user experience, and configuration management—aimed at guiding engineers and teams toward robust, scalable, and maintainable software solutions.

Distributed SystemsSoftware Architecturebackend-development
0 likes · 10 min read
30 Architectural Principles for Software Engineers
Java Backend Technology
Java Backend Technology
Mar 8, 2022 · Operations

Avoid Common Redis Distributed‑Lock Pitfalls and Fix Them

This article explains why naive Redis lock usage can cause non‑atomic operations, forgotten releases, lock‑stealing, re‑entrancy, read‑write contention, segmentation, timeout, master‑slave failures, and offers practical Java/Redisson/Lua solutions to make distributed locks reliable.

Luaconcurrencydistributed-lock
0 likes · 20 min read
Avoid Common Redis Distributed‑Lock Pitfalls and Fix Them
IT Services Circle
IT Services Circle
Mar 7, 2022 · Backend Development

10 Common Java Concurrency Pitfalls and How to Avoid Them

This article outlines ten frequent Java concurrency pitfalls—including unsafe SimpleDateFormat usage, double‑checked locking flaws, volatile limitations, deadlocks, HashMap memory leaks, thread‑pool misuse, @Async traps, spin‑lock inefficiencies, and ThreadLocal memory leaks—providing explanations, code examples, and practical solutions for each.

best practicesconcurrencyperformance
0 likes · 21 min read
10 Common Java Concurrency Pitfalls and How to Avoid Them
Java Backend Technology
Java Backend Technology
Mar 5, 2022 · Fundamentals

Uncovering Thread.Sleep: How Sleep Affects CPU Scheduling and App Performance

Thread.Sleep pauses a thread for a specified duration, signaling the OS to exclude it from CPU competition, and Thread.Sleep(0) forces an immediate rescheduling, which can improve UI responsiveness by yielding control to other threads; the article explains these behaviors using time‑slice and preemptive scheduling analogies.

CPU schedulingOS fundamentalsconcurrency
0 likes · 10 min read
Uncovering Thread.Sleep: How Sleep Affects CPU Scheduling and App Performance
Su San Talks Tech
Su San Talks Tech
Feb 23, 2022 · Fundamentals

Why Does synchronized Fail with Integer Locks? Deep Dive into Java Concurrency

This article examines why Java's synchronized keyword can become ineffective when locking on an Integer object, explores how autoboxing and Integer caching cause lock objects to change, and presents reliable alternatives such as class‑level locks or explicit lock maps for safe multithreaded programming.

concurrencyintegerlocking
0 likes · 18 min read
Why Does synchronized Fail with Integer Locks? Deep Dive into Java Concurrency
ByteDance Terminal Technology
ByteDance Terminal Technology
Feb 22, 2022 · Fundamentals

Optimizing CPython for True Parallel Execution: Implementing a Multi-Interpreter Architecture

This article details a novel approach to overcoming CPython's Global Interpreter Lock by implementing a multi-interpreter architecture that isolates execution states, manages shared variables through thread-specific data, and introduces a subinterpreter pool to significantly enhance multi-core CPU utilization and algorithm execution performance.

CPythonGIL OptimizationMulti-Interpreter Architecture
0 likes · 15 min read
Optimizing CPython for True Parallel Execution: Implementing a Multi-Interpreter Architecture
政采云技术
政采云技术
Feb 22, 2022 · Backend Development

Understanding Java ThreadPoolExecutor: Implementation Principles, Creation, Usage, and Parameter Tuning

This article explains the core principles of Java's ThreadPoolExecutor, details its internal state management, demonstrates how to create and configure thread pools with various parameters and rejection policies, and provides practical recommendations for sizing and applying thread pools in backend applications.

ThreadPoolExecutorconcurrencyjava
0 likes · 18 min read
Understanding Java ThreadPoolExecutor: Implementation Principles, Creation, Usage, and Parameter Tuning
Sanyou's Java Diary
Sanyou's Java Diary
Feb 14, 2022 · Backend Development

Is Redis Redlock Really Safe? Uncovering the Truth Behind Distributed Locks

This article thoroughly examines the safety of Redis-based distributed locks, from basic SETNX implementations to advanced Redlock algorithms, compares them with Zookeeper locks, discusses common pitfalls like deadlocks, clock drift, and network delays, and presents expert debates and practical solutions for robust lock management.

RedlockSafetyconcurrency
0 likes · 32 min read
Is Redis Redlock Really Safe? Uncovering the Truth Behind Distributed Locks
Yiche Technology
Yiche Technology
Jan 27, 2022 · Backend Development

C++ Multithreaded Service Architecture for High‑Throughput AI Inference

The article explains how to design a C++‑based multithreaded service that uses Pthreads, channels, and TensorRT to parallelize deep‑learning inference tasks, thereby reducing latency and dramatically increasing throughput for AI applications such as facial‑recognition access control systems.

AI inferenceTensorRTc++
0 likes · 11 min read
C++ Multithreaded Service Architecture for High‑Throughput AI Inference
Selected Java Interview Questions
Selected Java Interview Questions
Jan 25, 2022 · Fundamentals

Understanding Java synchronized and ReentrantLock: When Multiple Threads Can Access Synchronized Methods

This article examines how Java's synchronized keyword and ReentrantLock behave when multiple threads invoke two synchronized methods of the same class, exploring scenarios with the same instance, different instances, and Runnable run methods, and summarizing the resulting concurrency rules.

ReentrantLockSynchronizationconcurrency
0 likes · 15 min read
Understanding Java synchronized and ReentrantLock: When Multiple Threads Can Access Synchronized Methods
Architecture Digest
Architecture Digest
Jan 24, 2022 · Fundamentals

Understanding Python Threads, Processes, GIL, and the multiprocessing & concurrent.futures Modules

This article explains the fundamental differences between threads and processes, the role of Python's Global Interpreter Lock, and provides a comprehensive guide to using the multiprocessing and concurrent.futures modules—including their main classes, synchronization primitives, and practical code examples—for effective concurrent programming in Python.

GILParallelismPython
0 likes · 40 min read
Understanding Python Threads, Processes, GIL, and the multiprocessing & concurrent.futures Modules
Java Backend Technology
Java Backend Technology
Jan 16, 2022 · Backend Development

Write Maintainable, High‑Performance Backend Code: Standards, Design Patterns & Optimization Tips

This article presents a comprehensive guide to building maintainable, extensible backend systems by covering coding conventions, branch naming, commit messages, comment standards, result‑wrapping patterns, database normalization, algorithmic improvements, concurrency handling, service layering, and practical code examples.

BackendDatabase designcode quality
0 likes · 20 min read
Write Maintainable, High‑Performance Backend Code: Standards, Design Patterns & Optimization Tips
FunTester
FunTester
Jan 10, 2022 · Backend Development

Performance Testing of Java and Go High‑Performance Message Queues Using LinkedBlockingQueue

This article presents a detailed performance evaluation of Java and Go high‑throughput message queues, focusing on LinkedBlockingQueue, exploring test scenarios based on message size and thread count, analyzing producer and consumer results, providing benchmark data, and sharing Groovy test cases for reproducibility.

Message Queueconcurrencyjava
0 likes · 27 min read
Performance Testing of Java and Go High‑Performance Message Queues Using LinkedBlockingQueue
Programmer DD
Programmer DD
Jan 6, 2022 · Fundamentals

Why Java’s Biased Locking Matters—and Why It’s Being Deprecated

This article explains the evolution of Java synchronization mechanisms from the classic synchronized keyword to lightweight, biased, and heavyweight locks, explores how lock states transition, the impact of hashCode and wait, and why biased locking is being phased out in modern JDKs.

Biased LockingJVMSynchronization
0 likes · 26 min read
Why Java’s Biased Locking Matters—and Why It’s Being Deprecated
Java High-Performance Architecture
Java High-Performance Architecture
Jan 6, 2022 · Backend Development

Mastering Redis Distributed Locks: Strategies, Pitfalls, and Redisson Watchdog

Redis distributed locks rely on a key-value marker with unique client IDs, expiration times, and careful release checks; the article explores lock timeout challenges, automatic renewal via watchdog mechanisms, Redisson's tryLock implementation, Lua‑based renewal scripts, and best practices to avoid deadlocks and resource waste.

Watchdogconcurrencydistributed-lock
0 likes · 11 min read
Mastering Redis Distributed Locks: Strategies, Pitfalls, and Redisson Watchdog
FunTester
FunTester
Jan 6, 2022 · Backend Development

A Simple Custom Wait Method for Java/Groovy Multithreaded Tests

The article explains how to create a lightweight custom waiting utility in Java (using Groovy syntax) that repeatedly checks a condition every 0.5 seconds, simplifying thread synchronization for performance testing of multithreaded code.

CustomWaitGroovyconcurrency
0 likes · 5 min read
A Simple Custom Wait Method for Java/Groovy Multithreaded Tests
Sohu Tech Products
Sohu Tech Products
Jan 5, 2022 · Backend Development

Implementing Distributed Locks with Redis and Redisson

This article explains how to implement a distributed lock using Redis, discusses challenges with lock expiration, describes automatic renewal techniques such as watchdog mechanisms, and provides detailed Java code examples of Redisson's tryLock and renewal processes.

Watchdogconcurrencydistributed-lock
0 likes · 12 min read
Implementing Distributed Locks with Redis and Redisson
Sohu Tech Products
Sohu Tech Products
Jan 5, 2022 · Fundamentals

Source Code Analysis – Suspension and Resumption of Kotlin Coroutines

This article dissects the Kotlin coroutine implementation by decompiling a simple coroutine, explaining how the compiler transforms suspend functions into state‑machine classes, how launch creates an AbstractCoroutine, how the dispatcher intercepts and schedules execution, and how the coroutine is suspended and later resumed through Continuation mechanisms.

CoroutinesKotlinSuspend
0 likes · 16 min read
Source Code Analysis – Suspension and Resumption of Kotlin Coroutines
Code Ape Tech Column
Code Ape Tech Column
Jan 4, 2022 · Backend Development

How to Enable Multithreaded Scheduled Tasks in Spring Boot

This article explains why Spring Boot's default scheduled tasks run on a single thread and demonstrates three practical ways to configure multithreaded scheduling using SchedulingConfigurer, application properties, and the @Async annotation with a custom thread pool.

ConfigurationScheduled TasksSpring Boot
0 likes · 4 min read
How to Enable Multithreaded Scheduled Tasks in Spring Boot
21CTO
21CTO
Jan 1, 2022 · Fundamentals

Master Python Concurrency: Threads, Processes, GIL, and Multiprocessing Explained

This article provides a comprehensive guide to Python concurrency, covering the fundamental differences between threads and processes, the impact of the Global Interpreter Lock, and detailed usage of the multiprocessing module with its various components and synchronization primitives.

GILconcurrencymultiprocessing
0 likes · 38 min read
Master Python Concurrency: Threads, Processes, GIL, and Multiprocessing Explained
Top Architect
Top Architect
Jan 1, 2022 · Backend Development

Understanding ThreadLocalRandom and Unsafe in Java: Performance, Implementation, and Pitfalls

This article examines Java's Random performance limitations, explains how ThreadLocalRandom leverages the Unsafe class for per‑thread seed management, analyzes the underlying native methods, discusses safety concerns and memory layout, and shares practical code examples and insights for high‑concurrency applications.

JDKThreadLocalRandomconcurrency
0 likes · 10 min read
Understanding ThreadLocalRandom and Unsafe in Java: Performance, Implementation, and Pitfalls
FunTester
FunTester
Dec 28, 2021 · Backend Development

Using LMAX Disruptor for High‑Performance Event Processing in Java

This article explains how to replace Java's LinkedBlockingQueue with the high‑throughput LMAX Disruptor library, covering dependency setup, event definition, Disruptor creation, producer and consumer implementations, handler configuration, startup/shutdown procedures, and provides both Java and Groovy demo code.

BackendDisruptorQueue
0 likes · 8 min read
Using LMAX Disruptor for High‑Performance Event Processing in Java
Architecture Digest
Architecture Digest
Dec 27, 2021 · Fundamentals

System Capacity Design and Evaluation: Concepts, Metrics, and Practical Steps

This article explains how to design and evaluate system capacity by defining key metrics such as QPS, TPS and concurrency, describing when capacity assessment is needed, and outlining a step‑by‑step methodology—including traffic analysis, peak estimation, stress testing and redundancy planning—to ensure reliable performance under varying load conditions.

Performance TestingQPSSystem Design
0 likes · 11 min read
System Capacity Design and Evaluation: Concepts, Metrics, and Practical Steps
DeWu Technology
DeWu Technology
Dec 26, 2021 · Fundamentals

Java Synchronized Mechanism Overview

Java's synchronized keyword provides mutual exclusion by using object monitors, offering class‑method, static‑method, and block locking patterns, while the JVM optimizes performance through biased, lightweight, and heavyweight lock strategies, making it essential knowledge for efficient concurrent programming.

JVMSynchronizationconcurrency
0 likes · 29 min read
Java Synchronized Mechanism Overview
FunTester
FunTester
Dec 25, 2021 · Backend Development

Java Thread Synchronization Utilities: CountDownLatch, CyclicBarrier, and Phaser

An overview of Java’s three primary thread‑synchronization tools—CountDownLatch, CyclicBarrier, and Phaser—explaining their placement in java.util.concurrent, typical use‑cases such as coordinating multi‑threaded tasks in performance testing, and the advantages of each, complemented by illustrative diagrams.

CountDownLatchCyclicBarrierPhaser
0 likes · 7 min read
Java Thread Synchronization Utilities: CountDownLatch, CyclicBarrier, and Phaser
ITPUB
ITPUB
Dec 23, 2021 · Fundamentals

Understanding Deadlocks: Causes, Conditions, and Prevention Strategies

The article provides a comprehensive overview of deadlocks, explaining what they are, the resources and ordering issues that cause them, the four necessary conditions, and detailed prevention, detection, and recovery techniques including lock ordering, timeout strategies, and the banker’s algorithm.

concurrencyjavaresource allocation
0 likes · 11 min read
Understanding Deadlocks: Causes, Conditions, and Prevention Strategies
Tencent Cloud Developer
Tencent Cloud Developer
Dec 22, 2021 · Backend Development

Performance Analysis of Go map Concurrency: sync.Map vs map+RWLock vs concurrent‑map

The article compares Go’s native map (which crashes under concurrent access), a map protected by sync.RWMutex, the lock‑free read‑optimized sync.Map introduced in Go 1.9, and the sharded orcaman/concurrent‑map, showing that sync.Map excels in read‑heavy workloads while sharded maps better handle frequent inserts, and suggesting other cache libraries for eviction or expiration needs.

Goconcurrencysync.Map
0 likes · 20 min read
Performance Analysis of Go map Concurrency: sync.Map vs map+RWLock vs concurrent‑map
FunTester
FunTester
Dec 22, 2021 · Backend Development

Java Multithreading Tutorial: Simulating Ticket Booking with Runnable

This article explains how to implement Java multithreading using the Runnable interface through a ticket‑booking example, demonstrates common pitfalls like calling run() directly, shows code with and without Thread.sleep, and discusses concurrency issues such as thread‑unsafe ticket duplication.

RunnableThreadconcurrency
0 likes · 10 min read
Java Multithreading Tutorial: Simulating Ticket Booking with Runnable