Java
234 notes
Some notes are currently available only in Chinese. English translations are shown when available.
- 6.41 PriorityBlockingQueuehistorical
What PriorityBlockingQueue is, binary-heap basics, usage, and source analysis of growth, offer/put, take, and heap adjustment.
- 6.42 SynchronousQueuehistorical
1. What it is. A blocking queue implemented internally with a singly linked structure that does not store elements. A writer must have a reader at the same time in order to proceed, and vice versa; otherwise the writer or reader remains blocked. 2. Usage. 3. Principles. 3.1. Constructor. 3.1.1. Transfer. 3.1.2. QNode. 3.2. put blocking. 3.2.1. Calls TransferQueue.
- 6.43 Atomichistorical
1. What it is. Thread-safe atomic classes implemented with CAS. 2. Usage, using AtomicInteger as an example. 3. Principle analysis. 4. Problems with AtomicInteger: high CPU usage and the ABA problem, plus a version-number solution with AtomicStampedReference.
- Java Production Issue Troubleshootinghistorical
Troubleshooting memory saturation, CPU/thread problems, deadlocks, JVM tuning, and related references.
- Garbage Collection Conceptshistorical
Reference counting, reachability analysis, GC Roots, concrete garbage collection algorithms, and references.
- 7.4 Class Lifecyclehistorical
The class lifecycle: loading, linking, initialization, use, unloading, class loaders, parent delegation, and related questions.
- 7.5 Memory Regionshistorical
JVM memory regions: shared heap and method area, per-thread stack and program counter, and PermGen/Metaspace.
- 7.6 Tuning Approachhistorical
Goals of tuning, overall production steps, JMeter load-test tuning, and CMS tuning flow.
- Garbage Collection Algorithmshistorical
Mark-sweep, mark-compact, copying, and generational collection.