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

分类

技术动画

用 Remotion 可视化复杂算法和内部状态流。为技术极客打造的可编程电影化演示。

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
查看详情
HashMap put() — 从 hashCode 到桶定位
内部原理

HashMap put() — 从 hashCode 到桶定位

追踪 HashMap.put() 的完整链路:计算 hashCode(青色)、扰动函数 h^(h>>>16)(紫色闪光)、桶索引计算 (n-1)&hash(黄色)、链表尾插(蓝色),以及 8 个节点触发树化,链表转换为红黑树。

JavaCollectionsHashMapHashData Structure
查看详情
Hello World
UI 动效

Hello World

用于验证动画基础设施链路的最小示例。标题淡入、从 80% 缩放到 100%,结尾轻微淡出。

RemotionStarterFade
查看详情
LinkedHashMap LRU 淘汰
内部原理

LinkedHashMap LRU 淘汰

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

JavaCollectionsLinkedHashMapLRUCache
查看详情