Long Lru Memory Cache
open class LongLruMemoryCache<V : Any>(val capacity: Long, lowWater: Long = (capacity * 0.75).toLong())
LRU memory cache keyed by primitive Long, eliminating per-lookup boxing overhead that occurs with LruMemoryCache
Uses open addressing with linear probing and tombstone compaction on eviction, plus an intrusive doubly-linked list across Entry objects for O(1) LRU eviction (head = MRU, tail = LRU). The slot table only resolves keys; eviction order is independent of slot layout and survives rehashes without bookkeeping.