guava缓存,取出的是引用

简介:

直接上代码

import java.util.concurrent.TimeUnit;

import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;

public class GuavaSample {

    private String name = "test";

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public static Cache<String, GuavaSample> getCache() {
        return cache;
    }

    private static final Cache<String, GuavaSample> cache = CacheBuilder.newBuilder()
            .expireAfterWrite(120L, TimeUnit.MINUTES).build();

    public static void main(String[] args) {
        GuavaSample obj1 = new GuavaSample();

        cache.put("obj1", obj1);

        // 方法一,改了实例2的属性,看是否实例1的属性是否变化
        GuavaSample obj1_1 = cache.getIfPresent("obj1");
        GuavaSample obj1_2 = cache.getIfPresent("obj1");
        System.out.println("取出来的是否为同一个对象:" + (obj1_1 == obj1_2));

        // 方法二,改了实例2的属性,看是否实例1的属性是否变化
        obj1_1.setName("aaa");
        obj1_2.setName("bbb");
        System.out.println("取出来的是否为同一个对象:" + "bbb".equals(obj1_1.getName()));
    }
}
相关文章
|
18天前
|
缓存 Java
【JAVA】基于Guava实现本地缓存
【JAVA】基于Guava实现本地缓存
34 0
|
18天前
|
存储 缓存 NoSQL
Guava 缓存详解及使用
Guava Cache 是`Google Fuava`中的一个内存缓存模块,用于将数据缓存到JVM内存中。 本文主要介绍下Guava缓存的配置详解及相关使用 缓存分为本地缓存与分布式缓存。本地缓存为了保证线程安全问题,一般使用`ConcurrentMap`的方式保存在内存之中,而常见的分布式缓存则有`Redis`,`MongoDB`等。
|
18天前
|
缓存 JavaScript Java
thymeleaf引用JS加随机数防止缓存
thymeleaf引用JS加随机数防止缓存
28 0
|
18天前
|
缓存 NoSQL Java
SpringBoot:第五篇 集成Guava(本地缓存+分布式缓存)
SpringBoot:第五篇 集成Guava(本地缓存+分布式缓存)
106 0
|
缓存 安全 Java
JNI之缓存与引用
NDK连载系列
53 0
|
存储 缓存 NoSQL
真正的缓存之王,Google Guava 只是弟弟(二)
真正的缓存之王,Google Guava 只是弟弟(二)
|
存储 缓存 监控
真正的缓存之王,Google Guava 只是弟弟(一)
前面刚说到Guava Cache,他的优点是封装了get,put操作;提供线程安全的缓存操作;提供过期策略;提供回收策略;缓存监控。当缓存的数据超过最大值时,使用LRU算法替换。这一篇我们将要谈到一个新的本地缓存框架:Caffeine Cache。它也是站在巨人的肩膀上-Guava Cache,借着他的思想优化了算法发展而来。 本篇博文主要介绍Caffine Cache 的使用方式,以及Caffine Cache在SpringBoot中的使用。
真正的缓存之王,Google Guava 只是弟弟(一)
|
缓存 Java
Guava之Supplier缓存使用示例
使用guava作内存缓存,大多数小伙伴应该都使用过,通过CacheBuilder创建LoadingCache一个kv格式的缓存,如果我们需要缓存的只是一个value呢? 针对这种场景,接下来介绍一种基于Supplier来实现的缓存方式
448 0
|
存储 缓存 JSON
Google Guava本地缓存的实战
Google Guava本地缓存的实战
604 0
Google Guava本地缓存的实战
|
存储 缓存 监控
还在用 Guava Cache?它才是 Java 本地缓存之王
前面刚说到Guava Cache,他的优点是封装了get,put操作;提供线程安全的缓存操作;提供过期策略;提供回收策略;缓存监控。当缓存的数据超过最大值时,使用LRU算法替换。这一篇我们将要谈到一个新的本地
还在用 Guava Cache?它才是 Java 本地缓存之王