guava得过期map得一个测试

版权声明:微信公众号 java架构狮 欢迎转载 请注明出处 https://blog.csdn.net/AlbertFly/article/details/89456508
GuavaMaps
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;

public class GuavaMaps {
    public static void main(String[] args) throws InterruptedException {
        Cache<String, String>  cache = CacheBuilder.newBuilder().expireAfterWrite(5, TimeUnit.SECONDS).build();
        System.out.println("初始大小map:"+ cache.size());
        cache.put("token1","name1");
        cache.put("token2","name2");
        cache.put("token3","name3");

        Map<String,Cache<String,String>> maps = new HashMap<>();
        for (int i = 0; i <200 ; i++) {
            System.out.println(cache.size());
            System.out.println( cache.getIfPresent("token3"));
            Thread.sleep(1000L);
            System.out.println(cache.asMap());
        }
    }
}

运行结果

初始大小map:0
3
name3
{token1=name1, token3=name3, token2=name2}
3
name3
{token1=name1, token3=name3, token2=name2}
3
name3
{token1=name1, token3=name3, token2=name2}
3
name3
{token1=name1, token3=name3, token2=name2}
3
name3
{}
3
null
{}
1
null
{}
1
null
{}
1
null

猜你喜欢

转载自blog.csdn.net/AlbertFly/article/details/89456508