有没有办法在不同的文件中使用相同的缓存实例?当我在 中创建缓存Main.java
并这样写时:
public class Main {
public Cache<String, String> cache = Caffeine.newBuilder()
.expireAfterWrite(2, TimeUnit.HOURS)
.maximumSize(250)
.build();
public static void main(String[] args) {
}
}
并且想从位于单独文件中的另一个类访问它,我该怎么做?
我认为它只是以下代码(Second.java
)
import Main;
public class Second {
public static void main(String[] args) {
Main main = new Main();
main.cache.put('key', 'value');
}
}
但问题是它创建了 Main 类的一个新实例,因此创建了一个新的缓存。因为在Main.java
执行以下代码时,它会生成null
.
public class Main {
public Cache<String, String> cache = Caffeine.newBuilder()
.expireAfterWrite(2, TimeUnit.HOURS)
.maximumSize(250)
.build();
public static void main(String[] args) {
//A key/value is created in Second.java
cache.getIfPresent('key'); // => 'null'
}
}
顺便说一句,我正在制作一个事件驱动的Minecraft 插件,因此key
/value
应该已经通过命令创建。