TechLog
文章动画项目关于
TechLog
© 2026 TechLog蜀ICP备18025341号-1
内部原理

LinkedHashMap LRU 淘汰

规格

时长
5.00s
帧率
30
总帧数
150
复杂度
简单

可视化 LinkedHashMap 实现 LRU 缓存淘汰的过程。节点按访问顺序排列在双向链表中。get() 将节点移到链表尾部;put() 超出容量时,最久未访问的头部节点被 removeEldestEntry() 淘汰。

JavaCollectionsLinkedHashMapLRUCache

相关动画

ByteBuffer 四指针联动状态机
内部原理

ByteBuffer 四指针联动状态机

通过四条可滑动指针(position、limit、capacity、mark)可视化 NIO ByteBuffer 状态机。动态演示 allocate、write、flip、get、clear、compact 操作——每步操作都会改变指针位置和缓冲区颜色状态。

JavaNIOByteBufferBufferIO
查看详情
ConcurrentHashMap 协助扩容
内部原理

ConcurrentHashMap 协助扩容

展示 ConcurrentHashMap 如何进行无锁协助扩容。旧数组满载时,每个槽位被标记为 ForwardingNode(红色)。多个线程各自认领不同的 stride 段,通过 CAS 并发迁移节点到两倍大小的新数组,直到全部槽位完成迁移,新数组正式上线。

JavaCollectionsConcurrentHashMapConcurrencyResize
查看详情
DirectByteBuffer 堆外内存生命周期
内部原理

DirectByteBuffer 堆外内存生命周期

以分屏形式展示 DirectByteBuffer 的完整生命周期。左侧为 JVM 堆(橙色),右侧为堆外内存(深蓝)。allocateDirect() 在堆中建立引用并桥接到 Native Memory。当引用失去强引用时,幽灵般的 Cleaner(PhantomReference)出现并回收堆外内存,整个过程无需 GC 介入。

JavaNIODirectByteBufferOff-HeapCleanerPhantomReference
查看详情