我有一个散列图,它存储大约1 G的数据是键值对的术语.此hashmap每15天更改一次.它将被加载到内存中并从那里使用.
当必须将新的hashmap加载到内存中时,会有几个事务已经在内存中访问hashmap.如何在不影响访问旧hashmap的当前事务的情况下,用新的hashmap替换旧的hashmap.如果有办法在内存中热插拔hashmap?
使用AtomicReference<Map<Foo, Bar>>而不是公开对地图的直接(硬)引用。地图的使用者将使用#get(),当您准备换出地图时,您的“内部”代码将使用#set()或#getAndSet()。