Tagged articles
16 articles
Page 1 of 1
Deepin Linux
Deepin Linux
May 16, 2026 · Fundamentals

Mastering SMP Multi-Core Out-of-Order Execution to Grasp Linux Concurrency

This article deeply dissects the hardware origins of SMP multi‑core out‑of‑order execution, explains four classic memory‑reordering scenarios, and shows how Linux kernel memory barriers constrain the chaos, enabling developers to reliably reason about and fix complex multi‑core concurrency bugs.

CPULinuxSMP
0 likes · 34 min read
Mastering SMP Multi-Core Out-of-Order Execution to Grasp Linux Concurrency
Deepin Linux
Deepin Linux
May 3, 2026 · Backend Development

Master Lock‑Free Queues: Unlock the Core of High‑Concurrency Programming

This article demystifies lock‑free queues by explaining their low‑level implementation, atomic operations, memory barriers, and the four SPSC/MPMC models, while also covering ABA problems, false sharing avoidance, and practical C++ code examples to help developers truly understand high‑concurrency fundamentals.

CASMPMCSPSC
0 likes · 44 min read
Master Lock‑Free Queues: Unlock the Core of High‑Concurrency Programming
Deepin Linux
Deepin Linux
Sep 6, 2025 · Fundamentals

Why Memory Barriers Are Essential for Multithreaded Programming

Memory barriers act like traffic signals for concurrent threads, enforcing a strict order of memory operations to prevent data races, cache incoherence, and compiler reordering, thereby ensuring program correctness and stability across multi‑core and multi‑processor systems.

CPU orderingLinux kernelcache coherence
0 likes · 37 min read
Why Memory Barriers Are Essential for Multithreaded Programming
The Dominant Programmer
The Dominant Programmer
Jul 9, 2025 · Fundamentals

Understanding Java Memory Model (JMM): Core Concepts and Guarantees

This article explains the Java Memory Model (JMM), detailing its purpose, the distinction from JVM memory structure, the eight memory interaction operations, the happens‑before principle, memory barriers, and common pitfalls such as double‑checked locking and visibility bugs, with concrete code examples.

Happens-beforeJMMMemory Model
0 likes · 12 min read
Understanding Java Memory Model (JMM): Core Concepts and Guarantees
Deepin Linux
Deepin Linux
Mar 27, 2025 · Fundamentals

Understanding Linux Memory Barriers: Concepts, Types, and Implementation

This article explains why modern multi‑core CPUs need memory barriers, describes the different kinds of barriers (full, read, write), shows how they are implemented in the Linux kernel and hardware, and illustrates their use in multithreaded and cache‑coherent programming.

CPU architecturecache coherenceconcurrency
0 likes · 41 min read
Understanding Linux Memory Barriers: Concepts, Types, and Implementation
Deepin Linux
Deepin Linux
Nov 12, 2024 · Fundamentals

Understanding Linux Memory Barriers: Types, Usage, and Implementation

This article provides a comprehensive overview of Linux memory barriers, explaining why they are needed for correct ordering of memory operations on modern multi‑core CPUs, describing the different barrier types (read, write, full), their implementation in the kernel and Java, and illustrating their use in synchronization primitives and lock‑free data structures with code examples.

CPU architectureLinux kernelSynchronization
0 likes · 71 min read
Understanding Linux Memory Barriers: Types, Usage, and Implementation
Liangxu Linux
Liangxu Linux
May 19, 2023 · Fundamentals

Why CPUs Reorder Instructions and How Memory Barriers Preserve Correctness

The article explains how modern CPUs reorder instructions at compile‑time and runtime, the role of store buffers and invalid queues, why memory barriers are needed for visibility across cores, and compares sequential consistency guarantees on x86 versus ARM/Power architectures.

ARMCPUInstruction Reordering
0 likes · 10 min read
Why CPUs Reorder Instructions and How Memory Barriers Preserve Correctness
Xiao Lou's Tech Notes
Xiao Lou's Tech Notes
Jun 22, 2022 · Fundamentals

Why CPU Cache Coherence Matters: From Volatile to MESI and Memory Barriers

This article explores the fundamentals of CPU cache hierarchy, why caches are needed, how cache inconsistency arises in multicore systems, and the mechanisms—such as cache coherence protocols, MESI, store buffers, invalidate queues, and memory barriers—that ensure correct data ordering and visibility across processors.

CPUMESIcache coherence
0 likes · 21 min read
Why CPU Cache Coherence Matters: From Volatile to MESI and Memory Barriers
Senior Brother's Insights
Senior Brother's Insights
May 24, 2022 · Fundamentals

Why Does Thread A Always Grab the Lock First? A Deep Dive into Java Synchronization, JVM Internals, and CPU Fundamentals

This article explores the evolution from early mechanical calculators to modern CPUs, explains thread states, synchronization mechanisms, memory barriers, volatile semantics, and JVM lock implementations, and reveals why Java's notify method consistently awakens a specific waiting thread.

CASCPU architectureJVM internals
0 likes · 39 min read
Why Does Thread A Always Grab the Lock First? A Deep Dive into Java Synchronization, JVM Internals, and CPU Fundamentals
Open Source Linux
Open Source Linux
Dec 16, 2021 · Fundamentals

From Mechanical Calculators to Modern CPUs: Exploring Computer Fundamentals and Java Concurrency

This comprehensive guide traces the evolution of computing from early mechanical calculators to today's CPUs, delving into binary systems, memory hierarchies, synchronization primitives, thread states, lock mechanisms, and Java concurrency intricacies, while providing code examples, diagrams, and interview insights for developers.

CPU architectureJava concurrencyLocks
0 likes · 38 min read
From Mechanical Calculators to Modern CPUs: Exploring Computer Fundamentals and Java Concurrency
JD Tech
JD Tech
Nov 19, 2021 · Fundamentals

Understanding the Java Memory Model (JMM) and JSR‑133: Concepts, Guarantees, and Memory Barriers

This article explains the Java Memory Model (JMM) defined by JSR‑133, covering its core theory, the role of keywords like volatile, synchronized, and final, the underlying hardware memory models, cache‑coherence protocols, happens‑before rules, memory barriers, and how they ensure atomicity, visibility, and ordering in multithreaded Java programs.

Happens-beforeJSR133Memory Model
0 likes · 21 min read
Understanding the Java Memory Model (JMM) and JSR‑133: Concepts, Guarantees, and Memory Barriers
JavaEdge
JavaEdge
Oct 8, 2020 · Backend Development

How Disruptor Achieves Lock-Free Speed: Single-Threaded Writes, Memory Barriers, and False Sharing

This article explains how the Disruptor library attains true lock‑free performance through single‑threaded writes, the use of memory barriers (volatile and happens‑before semantics), cache‑line alignment to eliminate false sharing, and a sequence‑barrier algorithm, providing code examples and practical optimization tips.

DisruptorJava concurrencyfalse sharing
0 likes · 5 min read
How Disruptor Achieves Lock-Free Speed: Single-Threaded Writes, Memory Barriers, and False Sharing
Programmer DD
Programmer DD
Jun 5, 2018 · Fundamentals

How Volatile Enforces Memory Visibility and Prevents Reordering in Java

This article explains the Java volatile keyword by linking its visibility guarantees and happens‑before ordering to the underlying memory‑barrier implementation, illustrating the concepts with code examples, barrier diagrams, and a discussion of possible optimizations.

javamemory barriersvolatile
0 likes · 8 min read
How Volatile Enforces Memory Visibility and Prevents Reordering in Java