我对微调缓存意识数据结构(例如参见Michael Spiegel 的论文或 Herlihy 等人的hopscotch hashing中的无锁跳过树)以及防止错误共享(例如在并发数组处理期间)感兴趣。我已经知道如何通过“sun.arch.data.model”属性找到 JVM 指针大小,但是我还没有找到一种方法来确定 L1 缓存中缓存行的大小。
请注意,此信息并不重要,因为我可以继续对 L1 行大小使用保守估计(微调缓存意识数据结构时为 64 字节,或防止错误共享时为 256 字节);但是,如果很容易获得 L1 缓存属性,那么我不妨利用它。