Кто-нибудь знает java библиотеку, которая была похожа на Map<K, V>, но copy on write, и так, чтобы копировалось не всё содержимое, а только изменённые элементы.
Если приводить аналогии, то что-то в вдухе Unix’ового fork (когда дочерние процессы переиспользуют память до тех пор, пока не начнут писать в неё).
Иными словами: есть базовое состояние Map<K, V>. От него делаем fork. Получаем ещё одну копию Map, но все модификации оно складывает куда-нибудь к себе, а get запросы проверяет в двух местах.
——
И, да, я занаю про persistent maps (dexx collections и это всё), но там скорость работы обычно никакая.