自定义缓存一般基于ConcurrentMap实现,实现缓存需要注意的点是缓存容器对象
本身依赖于 static final去存储对象,样例: ConcurrentMap<String, GenericServiceCache> cacheHolder
= new ConcurrentHashMap<String, GenericServiceCache>();。虚拟机会在内存加载时
有特殊的初始化,如果通过类似单例方式创建对象会导致需要同步,而同步在高并发下导致性能变差,
更好的缓存实现方式应该是上述方式。
相关连接以及书籍等
http://dubbo.io/Reference+Config+Cache.htm
dubbo中类com.alibaba.dubbo.config.utils.ReferenceConfigCache
书籍 java并发编程实战 42页
待续...
时间: 2024-11-07 14:43:03