Guava手记

Posted 下士闻道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Guava手记相关的知识,希望对你有一定的参考价值。

Cache
  Guava的Cache封装的功能比较全面,但是很多地方和设想的不太一样,最明显的就是RemovalListener,它并不是invalid之后就会被调用,因为在调用Cache的invalid的时候,其实并没有真正从内存中删除,只是标记为删除而已,需要通过调用clear或者手工获取的时候,才会进行删除。所以这就要求你在使用的时候要自己实现线程去定时调用clear,或者在需要的时候调用clear,来进行调用。
  之所以Cache内部没有实现物理删除是因为需要添加添加一个线程,这个线程可能会和用户主线程争抢资源,所以线程这个事就交给了外部用户程序去实现。其实Cache更多的应用场景是默默的删除,但是我现在开发的项目,其实是希望能够捕获过期删除这个事件(定时删除过期任务,过期的任务要归档),才会有个纠结。
  另外,Cache的get可以指定一个Callable,不存在就加载并放置到内存中,Callable则是加载的逻辑;而getIfPresent则是不存在返回空,比较符合传统的get语意;

以上是关于Guava手记的主要内容,如果未能解决你的问题,请参考以下文章

安卓随手记如何筛选报表

随手记下载|随手记app下载

随手记下载|随手记app下载

Python中文语料批量预处理手记

结巴分词和自然语言处理HanLP处理手记

Python中调用自然语言处理工具HanLP手记