Tagged articles

Concurrency

2155 articles · Page 20 of 22
Youzan Coder
Youzan Coder
Mar 6, 2019 · Databases

Why Concurrent Inserts Trigger MySQL Deadlocks: An In‑Depth InnoDB Lock Analysis

This article examines a MySQL 5.6 InnoDB deadlock scenario caused by concurrent batch INSERTs, detailing the table schema, test cases, lock acquisition phases, log analysis, lock compatibility matrix, and discusses why typical SQL‑level fixes are limited, suggesting index redesign or data sharding as mitigation.

ConcurrencyDatabaseDeadlock
0 likes · 11 min read
Why Concurrent Inserts Trigger MySQL Deadlocks: An In‑Depth InnoDB Lock Analysis
Java Captain
Java Captain
Feb 27, 2019 · Fundamentals

Understanding Java volatile: Memory Visibility, Ordering, and Interview Insights

This article explains the Java volatile keyword, covering its memory‑visibility and ordering guarantees, how it interacts with the Java Memory Model, why it does not ensure atomicity, and demonstrates typical interview‑style examples and code snippets such as flag signaling and double‑checked locking.

AtomicityConcurrencyJava
0 likes · 16 min read
Understanding Java volatile: Memory Visibility, Ordering, and Interview Insights
Big Data Technology & Architecture
Big Data Technology & Architecture
Feb 21, 2019 · Backend Development

Essential Netty Knowledge and Source Code Analysis

This article introduces the "Big Data Path to God" series, lists several Java advanced topics, and provides a comprehensive Netty guide covering BIO/NIO/AIO differences, Netty features, threading model, TCP packet handling, serialization choices, zero‑copy, performance aspects, and key source‑code components.

ConcurrencyJavaNetty
0 likes · 3 min read
Essential Netty Knowledge and Source Code Analysis
Big Data Technology & Architecture
Big Data Technology & Architecture
Feb 16, 2019 · Fundamentals

Understanding LinkedBlockingQueue: Implementation, Principles, and Usage

This article provides a comprehensive overview of Java's LinkedBlockingQueue, covering its FIFO behavior, internal linked‑list structure, concurrency controls with separate put and take locks, detailed method implementations, and a multithreaded example demonstrating safe usage versus non‑thread‑safe alternatives.

BlockingQueueConcurrencyDataStructure
0 likes · 14 min read
Understanding LinkedBlockingQueue: Implementation, Principles, and Usage
Big Data Technology & Architecture
Big Data Technology & Architecture
Feb 16, 2019 · Backend Development

Understanding Java's ConcurrentLinkedQueue: Implementation, Principles, and Usage

This article explains the thread‑safe ConcurrentLinkedQueue in Java, covering its lock‑free linked‑list structure, core methods such as add, offer, and poll, detailed source‑code analysis, and a multithreaded example demonstrating its behavior in high‑concurrency scenarios.

ConcurrencyConcurrentLinkedQueueData Structure
0 likes · 12 min read
Understanding Java's ConcurrentLinkedQueue: Implementation, Principles, and Usage
Big Data Technology & Architecture
Big Data Technology & Architecture
Feb 15, 2019 · Fundamentals

Understanding Java's ConcurrentSkipListMap: Overview, Principles, API, Source Analysis, and Example Usage

This article provides a comprehensive guide to Java's ConcurrentSkipListMap, covering its purpose as a thread‑safe ordered map, the underlying skip‑list data structure, a detailed list of its public methods, in‑depth source‑code analysis for add, remove, and get operations, and a multithreaded example demonstrating its correct behavior compared with TreeMap.

ConcurrencyConcurrentSkipListMapData Structure
0 likes · 20 min read
Understanding Java's ConcurrentSkipListMap: Overview, Principles, API, Source Analysis, and Example Usage
Big Data Technology & Architecture
Big Data Technology & Architecture
Feb 15, 2019 · Backend Development

Deep Dive into Java 8 ConcurrentHashMap: Initialization, Treeification, Resizing, and Transfer Mechanics

This article explains the inner workings of Java 8's ConcurrentHashMap, covering how the table is initialized, how linked‑list bins are converted to red‑black trees, the resizing logic with tryPresize, and the multi‑threaded transfer process that moves entries to a larger table.

ConcurrencyData StructuresJava
0 likes · 17 min read
Deep Dive into Java 8 ConcurrentHashMap: Initialization, Treeification, Resizing, and Transfer Mechanics
Big Data Technology & Architecture
Big Data Technology & Architecture
Feb 15, 2019 · Backend Development

Understanding CopyOnWriteArrayList: Introduction, Principles, API, and Source‑Code Analysis

This article introduces Java's CopyOnWriteArrayList, explains its dynamic‑array and thread‑safety mechanisms, lists the most important methods, provides detailed source‑code walkthroughs for constructors, add, get, remove and iterator implementations, and demonstrates its behavior with a multithreaded example compared to ArrayList.

CollectionsConcurrencyCopyOnWriteArrayList
0 likes · 14 min read
Understanding CopyOnWriteArrayList: Introduction, Principles, API, and Source‑Code Analysis
Big Data Technology & Architecture
Big Data Technology & Architecture
Feb 15, 2019 · Fundamentals

Deep Dive into Java HashMap and ConcurrentHashMap: Implementation, Operations, and Concurrency Mechanics

This article provides a comprehensive, step‑by‑step explanation of Java 7 HashMap and ConcurrentHashMap internals, covering their data structures, put/get algorithms, array initialization, resizing, segment locking, rehashing, and the concurrency considerations that ensure thread‑safe access.

ConcurrencyData StructuresHashMap
0 likes · 22 min read
Deep Dive into Java HashMap and ConcurrentHashMap: Implementation, Operations, and Concurrency Mechanics
Meituan Technology Team
Meituan Technology Team
Feb 14, 2019 · Fundamentals

Understanding Java sun.misc.Unsafe: API, Usage, and Applications

The article explains Java’s sun.misc.Unsafe class, detailing how to safely obtain its singleton instance, describing its low‑level memory, CAS, thread, class, and object operations, and outlining common high‑performance use cases while warning about the significant risks of misuse.

ConcurrencyJavaMemory management
0 likes · 19 min read
Understanding Java sun.misc.Unsafe: API, Usage, and Applications
Big Data Technology & Architecture
Big Data Technology & Architecture
Feb 14, 2019 · Fundamentals

In‑Depth Analysis of Java HashMap Implementation and Usage

This article provides a comprehensive overview of Java's HashMap, covering its purpose as a key‑value store, the evolution of its internal data structures from JDK 1.7 to JDK 1.8, detailed explanations of core methods such as hash, put, get, resize, and practical example code illustrating common operations.

CollectionsConcurrencyData Structure
0 likes · 18 min read
In‑Depth Analysis of Java HashMap Implementation and Usage
Big Data Technology & Architecture
Big Data Technology & Architecture
Feb 14, 2019 · Fundamentals

Java Lock Types and Their Implementation Details

This article provides a comprehensive overview of various Java lock mechanisms—including fair, non‑fair, reentrant, read/write, biased, lightweight, heavyweight, and spin locks—explaining their classifications, usage, underlying AQS implementation, and includes illustrative code snippets for each type.

AQSConcurrencyJava
0 likes · 22 min read
Java Lock Types and Their Implementation Details
Big Data Technology & Architecture
Big Data Technology & Architecture
Feb 14, 2019 · Backend Development

Deep Dive into Java ArrayList: Implementation, Core Methods, and Usage Patterns

This article provides a comprehensive overview of Java's ArrayList, covering its internal structure, key fields, constructors, core operations such as adding, removing, and searching elements, traversal techniques, fail‑fast behavior, and a comparison with Vector, all illustrated with original source code snippets.

ArrayListCollectionsConcurrency
0 likes · 18 min read
Deep Dive into Java ArrayList: Implementation, Core Methods, and Usage Patterns
Zhuanzhuan Tech
Zhuanzhuan Tech
Jan 17, 2019 · Backend Development

Design and Refactoring of the Book Outbound Service with SN Allocation and Concurrency Management

The article describes the challenges of handling book outbound operations—matching SN codes, ensuring data consistency, and avoiding lock contention—and outlines a comprehensive refactor that separates business logic, standardizes APIs, adopts asynchronous processing, and leverages Redis sets to achieve high‑performance, reliable SN allocation.

ConcurrencyInventoryRedis
0 likes · 10 min read
Design and Refactoring of the Book Outbound Service with SN Allocation and Concurrency Management
Architect's Tech Stack
Architect's Tech Stack
Jan 17, 2019 · Backend Development

Comprehensive Java Interview Questions and Topics

This article compiles an extensive list of Java interview questions covering fundamentals, concurrency, collections, JVM internals, I/O, design patterns, testing, and best practices, providing candidates with a comprehensive study guide for modern backend development roles.

ConcurrencyDesign PatternsJVM
0 likes · 12 min read
Comprehensive Java Interview Questions and Topics
Programmer DD
Programmer DD
Dec 11, 2018 · Backend Development

Top 20 Java Interview Questions for Investment Banking (Answers Included)

This article compiles 20 common Java interview questions asked by investment banks, covering topics such as multithreaded HashMap usage, hashCode/equals contracts, String substring memory issues, singleton patterns, design patterns, deadlock avoidance, and performance considerations, each accompanied by concise answers and code examples.

CollectionsConcurrencyDesign Patterns
0 likes · 18 min read
Top 20 Java Interview Questions for Investment Banking (Answers Included)
dbaplus Community
dbaplus Community
Dec 3, 2018 · Backend Development

Mastering Distributed Locks: DB, Redis, and Zookeeper Implementations Compared

This article examines the design and implementation of distributed locks using databases, Redis, and Zookeeper, outlining their core characteristics, practical code patterns, performance trade‑offs, fault‑tolerance mechanisms, and guidance on selecting the right solution for specific workloads.

ConcurrencyDB lockDistributed Lock
0 likes · 11 min read
Mastering Distributed Locks: DB, Redis, and Zookeeper Implementations Compared
MaGe Linux Operations
MaGe Linux Operations
Dec 2, 2018 · Backend Development

Master Python asyncio: From Coroutines to Event Loops Explained

This article introduces Python's asyncio library, explains how coroutines are defined and run, demonstrates event‑loop management with run_until_complete and run_forever, covers callbacks, gathering multiple coroutines, and best practices for closing loops, all illustrated with clear code screenshots.

Concurrencyasynchronous programmingasyncio
0 likes · 7 min read
Master Python asyncio: From Coroutines to Event Loops Explained
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Nov 20, 2018 · Backend Development

Comprehensive Java Multithreading and Concurrency Interview Questions and Answers

This article compiles 46 essential Java multithreading and concurrency interview questions with detailed answers, covering fundamentals such as atomicity, visibility, ordering, thread creation methods, thread pools, synchronization mechanisms, lock types, AQS, deadlocks, and performance considerations for high‑performance backend development.

ConcurrencyJavaMultithreading
0 likes · 24 min read
Comprehensive Java Multithreading and Concurrency Interview Questions and Answers
MaGe Linux Operations
MaGe Linux Operations
Nov 17, 2018 · Fundamentals

Master Python Multithreading: Processes, GIL, and Threading Modules Explained

This article explains the fundamentals of Python concurrency, covering the differences between processes and threads, the role of the Global Interpreter Lock (GIL), how to use the low‑level thread module and the high‑level threading module, synchronization primitives such as Lock, RLock, Event, Condition, and the Queue module for producer‑consumer patterns.

ConcurrencyGILMultithreading
0 likes · 19 min read
Master Python Multithreading: Processes, GIL, and Threading Modules Explained
Ctrip Technology
Ctrip Technology
Nov 15, 2018 · Mobile Development

Optimizing Startup Process for Platform-Scale Mobile Apps: The Rocket Framework at Trip.com

This article shares Trip.com’s experience in redesigning the mobile app launch process through componentization, concurrent initialization, visual monitoring, and automated experiments, culminating in the Rocket framework that reduced startup time by over 40% while keeping modules isolated and crash‑resilient.

ConcurrencyRocket frameworkTrip.com
0 likes · 12 min read
Optimizing Startup Process for Platform-Scale Mobile Apps: The Rocket Framework at Trip.com
Meituan Technology Team
Meituan Technology Team
Nov 15, 2018 · Backend Development

Understanding Java Locks: Optimistic, Pessimistic, CAS, and Various Lock Types

The article explains Java’s various lock mechanisms—including optimistic vs. pessimistic, spin and adaptive spin, no‑lock through heavyweight states, fair vs. unfair, reentrant vs. non‑reentrant, and exclusive vs. shared locks—using JDK 8 source code and practical examples to guide developers in choosing the appropriate lock for different concurrency scenarios.

CASConcurrencyJava
0 likes · 26 min read
Understanding Java Locks: Optimistic, Pessimistic, CAS, and Various Lock Types
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Nov 14, 2018 · Fundamentals

Implementation Principles of ConcurrentHashMap (CurrentHashMap) in JDK 1.7 and JDK 1.8

This article explains the underlying principles of hash tables, compares HashMap, Hashtable and ConcurrentHashMap, and details the architectural differences of ConcurrentHashMap in JDK 1.7 (segment‑based locking) versus JDK 1.8 (array‑list‑tree with CAS), including code examples and performance trade‑offs.

ConcurrencyHashMapJDK1.7
0 likes · 8 min read
Implementation Principles of ConcurrentHashMap (CurrentHashMap) in JDK 1.7 and JDK 1.8
Programmer DD
Programmer DD
Nov 12, 2018 · Backend Development

Why Did My Java ThreadPool Hang? Uncovering a Hidden HashSet Loop in JDK 1.7

A production Java service suffered a thread‑pool alarm due to an unbounded LinkedBlockingQueue and a non‑thread‑safe HashSet, leading to massive memory usage, a circular linked‑list loop in HashMap, and severe CPU load, which was resolved by switching to ConcurrentHashMap and tuning the pool.

ConcurrencyJavaMemoryAnalysis
0 likes · 8 min read
Why Did My Java ThreadPool Hang? Uncovering a Hidden HashSet Loop in JDK 1.7
Beike Product & Technology
Beike Product & Technology
Nov 9, 2018 · Backend Development

Why Go Is Fast: 5 Key Language Features Explained

This article translates David Cheney's 2014 Gocon talk, detailing five Go language features—efficient value handling, inlining, escape analysis, goroutine scheduling, and dynamic stack management—that together explain Go's performance advantages, memory usage, and concurrency model.

ConcurrencyEscape AnalysisPerformance
0 likes · 15 min read
Why Go Is Fast: 5 Key Language Features Explained
Programmer DD
Programmer DD
Nov 9, 2018 · Backend Development

How Java’s Producer‑Consumer Problem Evolved: From Classic Locks to BlockingQueue and Thread Pools

This article walks through the classic Java producer‑consumer synchronization challenge, shows its traditional lock‑based solution, then demonstrates modern approaches using BlockingQueue and ExecutorService thread pools to simplify code, improve reliability, and avoid common pitfalls like deadlocks and thread starvation.

BlockingQueueConcurrencyJava
0 likes · 15 min read
How Java’s Producer‑Consumer Problem Evolved: From Classic Locks to BlockingQueue and Thread Pools
Java Captain
Java Captain
Nov 3, 2018 · Fundamentals

Differences Between synchronized and Lock in Java and Their Usage

This article explains the fundamental differences between Java's synchronized keyword and the Lock interface, covering thread basics, lock types, a detailed comparison table, and practical code demos that illustrate how to acquire, try, and release locks in various scenarios.

ConcurrencyLockjava-lock
0 likes · 14 min read
Differences Between synchronized and Lock in Java and Their Usage
Hujiang Technology
Hujiang Technology
Oct 29, 2018 · Backend Development

Implementing a Custom Java AQS Lock from Scratch

This tutorial walks through building a simple Java lock using AbstractQueuedSynchronizer (AQS), starting with a basic MyLock class, adding thread parking with Unsafe, creating a FIFO thread container, and refining lock and unlock methods to achieve correct synchronization and avoid lock starvation.

AQSConcurrencyJava
0 likes · 15 min read
Implementing a Custom Java AQS Lock from Scratch
UCloud Tech
UCloud Tech
Oct 25, 2018 · Backend Development

Why Go 1.8’s ForkLock Can Hang Goroutines and How Go 1.9 Solves It

The article investigates a Go 1.8.3 issue where goroutines block on ForkLock during fork‑exec, analyzes the kernel and Go runtime behavior, presents a hypothesis about memory‑heavy processes, validates it with experiments, and shows that upgrading to Go 1.9 or later eliminates the problem.

Concurrencyforklockgo
0 likes · 7 min read
Why Go 1.8’s ForkLock Can Hang Goroutines and How Go 1.9 Solves It
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Oct 17, 2018 · Backend Development

Understanding CopyOnWriteArrayList in Java: Implementation, Principles, and Comparison with ArrayList

CopyOnWriteArrayList is a thread‑safe variant of ArrayList that achieves read‑write separation by copying the underlying array on each mutative operation, using a ReentrantLock for writes, making it ideal for read‑heavy, write‑light scenarios, and it differs from ArrayList in safety, performance, and concurrency behavior.

ConcurrencyCopyOnWriteArrayListData Structures
0 likes · 5 min read
Understanding CopyOnWriteArrayList in Java: Implementation, Principles, and Comparison with ArrayList
Programmer DD
Programmer DD
Oct 16, 2018 · Backend Development

Deep Dive into ThreadPoolExecutor: Uncover How Java Manages Thread Pools

This article provides a comprehensive analysis of Java's ThreadPoolExecutor source code, covering class relationships, core interfaces, abstract implementations, internal fields, constructors, the Worker class, and detailed walkthroughs of key methods such as execute, addWorker, runWorker, getTask, processWorkerExit, tryTerminate, and idle thread interruption, plus monitoring techniques.

Backend DevelopmentConcurrencyExecutorService
0 likes · 19 min read
Deep Dive into ThreadPoolExecutor: Uncover How Java Manages Thread Pools
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Sep 30, 2018 · Backend Development

BAT Technical Interview Topics and Experience Summary

This guide outlines the key technical interview areas for BAT companies—including algorithms, Java fundamentals and advanced topics, frameworks, concurrency, networking, databases, and architecture—provides example questions with visual references, and shares practical interview and project experience tips to help candidates succeed.

ConcurrencyJavaarchitecture
0 likes · 4 min read
BAT Technical Interview Topics and Experience Summary
UC Tech Team
UC Tech Team
Sep 25, 2018 · Frontend Development

Understanding JavaScript Event Loop: Theory and Practice

This article explains the JavaScript Event Loop mechanism in depth, covering the call stack, heap memory, macro‑ and micro‑tasks, and their queues, and demonstrates the execution order through detailed examples and step‑by‑step visualizations of multiple event‑loop cycles.

ConcurrencyJavaScriptNode.js
0 likes · 7 min read
Understanding JavaScript Event Loop: Theory and Practice
Java Captain
Java Captain
Sep 20, 2018 · Backend Development

Common Cache Problems and Their Mitigation Strategies

The article explains major cache issues such as consistency, concurrency, penetration, jitter, avalanche, and the “bottomless pit” phenomenon, and outlines practical techniques like locking, empty‑object caching, request filtering, consistent hashing, rate limiting, and multi‑level caching to prevent system failures.

Cache AvalancheCache PenetrationCaching
0 likes · 8 min read
Common Cache Problems and Their Mitigation Strategies
Programmer DD
Programmer DD
Aug 17, 2018 · Fundamentals

How LinkedTransferQueue Works: The Smart Lock‑Free Queue Behind Java Concurrency

LinkedTransferQueue, introduced in JDK 7, combines the capacity of traditional BlockingQueues with the lock‑free behavior of SynchronousQueue, using a sophisticated node‑based algorithm that matches producers and consumers without locking the whole queue, offering high‑performance concurrent data transfer.

BlockingQueueConcurrencyJava
0 likes · 16 min read
How LinkedTransferQueue Works: The Smart Lock‑Free Queue Behind Java Concurrency
Meitu Technology
Meitu Technology
Aug 15, 2018 · Backend Development

Design and Performance Analysis of the Zap Logging Library in Go

The article examines Uber’s high‑throughput Go logging library zap, detailing its structured‑logging design, separation of concerns, copy‑on‑write filtering, extensive sync.Pool object reuse, reflection‑free type‑specific encoding, dynamic HTTP level control, and supplemental features such as a sugar API and log‑rotation, which together deliver superior performance over traditional libraries.

ConcurrencyLoggingObject Pool
0 likes · 18 min read
Design and Performance Analysis of the Zap Logging Library in Go
Programmer DD
Programmer DD
Aug 13, 2018 · Backend Development

Deep Dive into Java’s SynchronousQueue: How It Works and Its Implementation

This article provides a comprehensive analysis of Java's SynchronousQueue, detailing its unique zero-capacity behavior, differences from other BlockingQueue implementations, internal structures such as TransferQueue and TransferStack, fair and non‑fair modes, and the core transfer algorithm with code examples.

BlockingQueueConcurrencyJava
0 likes · 19 min read
Deep Dive into Java’s SynchronousQueue: How It Works and Its Implementation
Architect's Tech Stack
Architect's Tech Stack
Aug 12, 2018 · Backend Development

Understanding and Analyzing the Implementation of Java's Semaphore

This article explains the internal workings of Java's Semaphore, detailing its AQS-based architecture, fair and non‑fair synchronization strategies, core methods such as acquire, release, and their implementations, and provides a practical example demonstrating semaphore usage for thread coordination.

AQSConcurrencyJava
0 likes · 12 min read
Understanding and Analyzing the Implementation of Java's Semaphore
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Aug 11, 2018 · Fundamentals

Explore Java Core Concepts: JVM GC, Concurrency, and Collection Diagrams

This article presents a collection of visual diagrams that map key Java fundamentals, including a JVM garbage‑collection overview, Java concurrency structures, comprehensive collection maps, and detailed class diagrams for List, Map, and Set, offering developers clear reference graphics for understanding core Java APIs.

Class DiagramCollectionsConcurrency
0 likes · 1 min read
Explore Java Core Concepts: JVM GC, Concurrency, and Collection Diagrams
Programmer DD
Programmer DD
Aug 10, 2018 · Fundamentals

Mastering Java’s DelayQueue: How It Works and When to Use It

This article explains Java's DelayQueue—a blocking queue that releases elements only after their delay expires—covering its primary use cases, core components like ReentrantLock, Condition, and PriorityQueue, the Delayed interface, internal structure, and detailed implementations of the offer() and take() methods, including a discussion of potential memory‑leak pitfalls.

BlockingQueueConcurrencyDelayQueue
0 likes · 7 min read
Mastering Java’s DelayQueue: How It Works and When to Use It
Architect's Tech Stack
Architect's Tech Stack
Aug 8, 2018 · Backend Development

Deep Dive into Java AQS Shared‑Lock Implementation

This article explains the execution flow, source‑code details, and wake‑up logic of Java's AbstractQueuedSynchronizer shared‑lock mode, covering acquireShared, doAcquireShared, setHeadAndPropagate, doReleaseShared, and releaseShared methods with full code snippets and practical guidance.

AQSConcurrencyJava
0 likes · 11 min read
Deep Dive into Java AQS Shared‑Lock Implementation
Programmer DD
Programmer DD
Aug 8, 2018 · Fundamentals

Unlocking Java’s PriorityBlockingQueue: How Binary Heap Powers Priority Queues

This article explains how Java’s PriorityBlockingQueue implements a priority‑based unbounded blocking queue using a binary heap, covering heap structure, insertion and removal algorithms, underlying ReentrantLock synchronization, and key source code snippets that illustrate the sift‑up, sift‑down, and growth mechanisms.

BinaryHeapConcurrencyDataStructure
0 likes · 16 min read
Unlocking Java’s PriorityBlockingQueue: How Binary Heap Powers Priority Queues
Beike Product & Technology
Beike Product & Technology
Aug 3, 2018 · Backend Development

Common Go Language Pitfalls and Best Practices

This article explains frequent pitfalls in Go programming—including file‑naming conventions, defer execution order, panic value handling, for‑range copying, struct composition, init function behavior, pointer operations, command‑line arguments, slice capacity bugs, map usage, and channel communication—while providing clear examples and recommended fixes.

Best PracticesConcurrencygo
0 likes · 16 min read
Common Go Language Pitfalls and Best Practices
Beike Product & Technology
Beike Product & Technology
Aug 3, 2018 · Fundamentals

Understanding Java HashMap Optimizations in JDK 1.8

This article explains the fundamental principles of Java's HashMap, covering hash basics, time‑complexity of operations, the role of load factor and initial capacity, the resize algorithm without full rehashing, and the treeification of long buckets, illustrated with JDK 1.8 source code examples.

ConcurrencyData StructuresHashMap
0 likes · 16 min read
Understanding Java HashMap Optimizations in JDK 1.8
Beike Product & Technology
Beike Product & Technology
Jul 27, 2018 · Backend Development

Understanding Go's CSP Concurrency Model and Scheduler (MPG)

This article explains Go's concurrency foundations, detailing the difference between concurrency and parallelism, the CSP model using goroutines and channels, and the internal M‑P‑G scheduler architecture that balances work across processors and system threads.

CSPConcurrencyScheduler
0 likes · 9 min read
Understanding Go's CSP Concurrency Model and Scheduler (MPG)
Senior Brother's Insights
Senior Brother's Insights
Jul 23, 2018 · Fundamentals

HashMap vs ConcurrentHashMap: Deep Dive into JDK 1.7 and 1.8 Implementations

This article explains the internal structures of HashMap and ConcurrentHashMap in Java, compares their JDK 1.7 and JDK 1.8 implementations, walks through the put and get algorithms with code examples, highlights performance optimizations such as treeification, and shows why ConcurrentHashMap is needed for thread‑safe access.

ConcurrencyHashMapJava
0 likes · 21 min read
HashMap vs ConcurrentHashMap: Deep Dive into JDK 1.7 and 1.8 Implementations
Programmer DD
Programmer DD
Jul 23, 2018 · Fundamentals

How Does Java’s ArrayBlockingQueue Work Under the Hood?

This article explains the internal design of Java’s ArrayBlockingQueue—a fixed‑size, FIFO blocking queue that uses a ReentrantLock and Condition objects to coordinate producers and consumers, detailing its fields, fairness option, and the concrete implementations of add, offer, poll, and take methods.

ArrayBlockingQueueBlockingQueueConcurrency
0 likes · 10 min read
How Does Java’s ArrayBlockingQueue Work Under the Hood?
Programmer DD
Programmer DD
Jul 10, 2018 · Backend Development

How Guava Cache Works Under the Hood: Expiration, LRU, and Implementation Details

This article explains the design and inner workings of Google Guava's Cache library, covering JVM‑level caching, the advantages over simple maps, a real‑world Kafka alerting scenario, code examples, expiration policies, LRU handling, concurrency mechanisms, and the builder pattern used to configure caches.

ConcurrencyExpirationGuava
0 likes · 10 min read
How Guava Cache Works Under the Hood: Expiration, LRU, and Implementation Details
Qunar Tech Salon
Qunar Tech Salon
Jul 4, 2018 · Backend Development

Performance Optimization of Qunar's ATPCO International Ticket Pricing System

This article details how Qunar's ATPCO international fare system was analyzed and optimized through performance profiling, application of Little's Law and Amdahl's Law, code refactoring, cache replacement, pruning of search space, and concurrency improvements such as ForkJoinPool to dramatically reduce response times and CPU pressure.

Amdahl's LawCachingConcurrency
0 likes · 12 min read
Performance Optimization of Qunar's ATPCO International Ticket Pricing System
Programmer DD
Programmer DD
Jul 1, 2018 · Backend Development

Mastering Java’s CyclicBarrier: How Threads Synchronize and What Can Go Wrong

This article explains Java’s CyclicBarrier synchronization aid, detailing its purpose, constructors, the await() workflow, internal implementation with ReentrantLock and Condition, generation handling, error scenarios, timeout support, and provides a complete multithreaded example illustrating its practical use.

ConcurrencyCyclicBarrierJava
0 likes · 10 min read
Mastering Java’s CyclicBarrier: How Threads Synchronize and What Can Go Wrong
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Jun 30, 2018 · Fundamentals

Fundamentals of the Java Memory Model and Concurrency

This article explains the core concepts of the Java Memory Model, including atomicity, visibility, ordering, instruction reordering, sequential consistency, volatile semantics, lock mechanisms, happens‑before rules, and double‑checked locking for lazy initialization.

ConcurrencyJavaMemory Model
0 likes · 11 min read
Fundamentals of the Java Memory Model and Concurrency
Programmer DD
Programmer DD
Jun 28, 2018 · Backend Development

Inside Alibaba’s Multi‑Round Java Interview: Real Questions & Lessons Learned

The author recounts a four‑month journey through three Alibaba departments, detailing each technical and HR interview round, the specific Java‑focused questions asked, the on‑the‑spot coding test, and practical takeaways for candidates preparing for large‑scale backend interview processes.

CareerConcurrencyJava
0 likes · 15 min read
Inside Alibaba’s Multi‑Round Java Interview: Real Questions & Lessons Learned
JD Tech
JD Tech
Jun 28, 2018 · Backend Development

Asynchronous Programming and Promise Patterns in Backend Systems

This article introduces the concepts of synchronous versus asynchronous calls, explains the challenges of RPC services in large-scale systems, and provides detailed guidance on using polling, callbacks, futures, and CompletableFuture in Java to implement efficient, non‑blocking backend architectures with practical code examples.

CallbackConcurrencyFuture
0 likes · 18 min read
Asynchronous Programming and Promise Patterns in Backend Systems
360 Zhihui Cloud Developer
360 Zhihui Cloud Developer
Jun 22, 2018 · Backend Development

Master Go Channels: From Basics to Advanced Patterns

This article explains Go's channel primitive in depth, covering its conceptual model, types, operations, internal queues, rule scenarios, practical code examples, and best‑practice tips for building clear and efficient concurrent programs.

ConcurrencyGo Programmingchannel
0 likes · 12 min read
Master Go Channels: From Basics to Advanced Patterns
Programmer DD
Programmer DD
Jun 21, 2018 · Fundamentals

Master Java Interview Essentials: 8 Classic Questions Explained

This article breaks down eight core Java interview questions, offering deep analysis of platform fundamentals, exception handling, reflection, I/O, concurrency, and object‑oriented design to help candidates demonstrate solid understanding beyond superficial answers.

ConcurrencyCore ConceptsIO
0 likes · 12 min read
Master Java Interview Essentials: 8 Classic Questions Explained
Programmer DD
Programmer DD
Jun 16, 2018 · Fundamentals

How Java AQS Uses CLH Queues and LockSupport to Manage Thread Blocking

This article explains the internal mechanisms of Java's AbstractQueuedSynchronizer, detailing how the CLH synchronization queue, the shouldParkAfterFailedAcquire method, and the LockSupport utility work together to decide when a thread should spin, block, or be unblocked, with full code examples and step‑by‑step analysis.

AQSCLHQueueConcurrency
0 likes · 8 min read
How Java AQS Uses CLH Queues and LockSupport to Manage Thread Blocking
MaGe Linux Operations
MaGe Linux Operations
Jun 12, 2018 · Operations

Why Your Workflow Feels Like a Slow Kung Pao Chicken Order (And How to Fix It)

The article uses a humorous Kung Pao chicken ordering analogy to expose common workflow design pitfalls—such as focusing on functions over processes, lacking proper locking, over‑complicating steps, unclear role responsibilities, and rigid naming—while offering practical guidance for building flexible, component‑based operation systems.

Concurrencycase managementprocess design
0 likes · 10 min read
Why Your Workflow Feels Like a Slow Kung Pao Chicken Order (And How to Fix It)
Programmer DD
Programmer DD
Jun 10, 2018 · Backend Development

Unlocking Java Concurrency: How AQS Powers Modern Locks

This article explains the role of Java's AbstractQueuedSynchronizer (AQS) as the core framework for building locks and other synchronizers, detailing its state management, FIFO queue mechanism, and the essential methods developers need to implement custom concurrency utilities.

AQSConcurrencyJava
0 likes · 7 min read
Unlocking Java Concurrency: How AQS Powers Modern Locks
Programmer DD
Programmer DD
Jun 9, 2018 · Fundamentals

Unlocking Java’s Memory Model: Core Concepts and the Happens‑Before Rule

This concise summary explains the Java Memory Model’s definition of thread‑memory interaction, covering atomicity, visibility, ordering, the happens‑before principle, compiler/processor reordering constraints, and sequential consistency, while also listing key reference articles and further reading.

AtomicityConcurrencyJava
0 likes · 7 min read
Unlocking Java’s Memory Model: Core Concepts and the Happens‑Before Rule
Programmer DD
Programmer DD
Jun 6, 2018 · Fundamentals

Why Double‑Checked Locking Fails in Java and How to Fix It

This article explains why the classic Double‑Checked Locking implementation of a lazy singleton is unsafe in Java, analyzes the underlying object‑creation reordering problem, and presents two reliable solutions—using a volatile field or a static holder class—to achieve thread‑safe lazy initialization.

ConcurrencyJavaSingleton
0 likes · 7 min read
Why Double‑Checked Locking Fails in Java and How to Fix It
MaGe Linux Operations
MaGe Linux Operations
Jun 6, 2018 · Operations

Why Your Workflow Feels Like a Slow Kung Pao Chicken Order—and How to Fix It

Through a humorous restaurant analogy, the article reveals common workflow design flaws such as over‑emphasizing functions over processes, missing locking mechanisms, overly complex steps, unclear role responsibilities, and the necessity for flexible, component‑based workflow systems to handle changing requirements.

Concurrencycase managementprocess design
0 likes · 10 min read
Why Your Workflow Feels Like a Slow Kung Pao Chicken Order—and How to Fix It
Programmer DD
Programmer DD
Jun 2, 2018 · Fundamentals

Unlocking Java’s Happens‑Before: When Do Thread Changes Become Visible?

The article explains the Java Memory Model’s happens‑before principle, detailing its eight core rules, how they ensure visibility and ordering across threads, provides code examples, analyzes a non‑thread‑safe snippet, and shows how to achieve safety using locks or volatile variables.

ConcurrencyJavaMemory Model
0 likes · 9 min read
Unlocking Java’s Happens‑Before: When Do Thread Changes Become Visible?
ITPUB
ITPUB
May 31, 2018 · Databases

Mastering Redis: Why It’s Fast, Common Pitfalls, and How to Solve Them

This article provides a comprehensive review of Redis, covering why it’s used, its performance advantages, single‑threaded speed, data types and use cases, expiration policies, memory eviction strategies, consistency challenges, and practical solutions for cache penetration, avalanche, and concurrent key competition.

CachingConcurrencyData Types
0 likes · 16 min read
Mastering Redis: Why It’s Fast, Common Pitfalls, and How to Solve Them
Qunar Tech Salon
Qunar Tech Salon
May 29, 2018 · Backend Development

Async Mutex: Eliminating Blocking in High‑Performance Concurrent Java Programs

This article analyses the performance challenges of high‑concurrency Java applications, explains how misuse of atomic operations and blocking degrade throughput, introduces an asynchronous monitor concept and a concrete AsyncMutex implementation, and presents experimental results showing its scalability advantages over traditional ReentrantLock‑based locking.

BlockingConcurrencyJava
0 likes · 15 min read
Async Mutex: Eliminating Blocking in High‑Performance Concurrent Java Programs
Didi Tech
Didi Tech
May 18, 2018 · Backend Development

Understanding the Thundering Herd Problem in Linux and Nginx

The article explains the thundering herd problem where many processes wake for a single event, describes Linux’s kernel fixes for accept() and partial epoll solutions, and details how Nginx avoids the issue using a custom inter‑process accept mutex and lock design.

ConcurrencyLinux kernelLocking
0 likes · 14 min read
Understanding the Thundering Herd Problem in Linux and Nginx
Architecture Digest
Architecture Digest
May 17, 2018 · Backend Development

Implementing a Distributed Lock with Redis in Java

This article explains the principles of distributed locks, discusses why they are needed in distributed applications, and provides a complete Java implementation using Redis’s NX and EX parameters, including lock acquisition, blocking and non‑blocking modes, unlocking with Lua scripts, configuration, usage examples, and testing strategies.

ConcurrencyDistributed LockJava
0 likes · 12 min read
Implementing a Distributed Lock with Redis in Java