前言
这本书写得很好,其实读到末尾的时候,我有点失落,我一直以为当我越靠近 Java 的底层的时候,代码逻辑会变得越简单。但不是的,我看到源代码中,逻辑复杂化,只为了让程序在不同的场景下有更为出色的表现。
印象最深的是, ConcurrentLinkedQueue 入队列和出队列的实现,使用了 hops 变量来控制并减少节点的更新频率,通过增加对 volatile 变量的读操作来减少对 volatile 变量的写操作,以此提升效率,因为对 volatile 变量的写操作开销要远远大于读操作。
不过同时我在读的另一本书,《艾伦·图灵传——如谜的解谜者》,使我多少有点触动。复杂,表现为简单。我们看到的简单,是下层更原子化的东西,以各种各样的方式所达成的。而我们所处的位置,往往在高处,就好像俯瞰草原,只有一片绿色,而真的站在草原,蹲下来,仔细看,每一颗草,如此相似而不同,如果是植物学家,甚至能对着草的各个部分看上半天。
如果笔记有不尽之处,还望见谅。