开发者社区> 问答> 正文

Caffeine如何支持基于引用的驱逐策略?

Caffeine如何支持基于引用的驱逐策略?

展开
收起
冲冲冲c 2024-06-21 20:41:42 13 0
1 条回答
写回答
取消 提交回答
  • Caffeine支持基于引用的驱逐策略,包括弱键(weakKeys)、弱值(weakValues)和软值(softValues)。当键或值没有其他强引用时,它们将被自动从缓存中移除。例如:

    // 当key和缓存元素都不再存在其他强引用的时候驱逐 
    LoadingCache<Key, Graph> graphs = Caffeine.newBuilder() 
    .weakKeys() 
    .weakValues() 
    .build(key -> createExpensiveGraph(key)); 
    
    // 当进行GC的时候,如果内存紧张,软引用的值将被驱逐 
    LoadingCache<Key, Graph> graphs = Caffeine.newBuilder() 
    .softValues() 
    .build(key -> createExpensiveGraph(key));
    
    2024-06-21 21:28:30
    赞同 2 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载