我有一个控制台 Java 应用程序,它需要数据库中的一些数据。由于应用程序不断运行,每 30 秒一次,为了降低数据库的压力,我正在使用某种数据缓存。
因为数据库中没有大量需要的数据,所以我使用单例 Hashmap 作为我的缓存。我的缓存类如下所示:
public class Cache extends Hashmap<Integer, Hashmap<Integer, ArrayList<String>> {
//some code
}
每 5 分钟系统将通过以下方式刷新缓存:
1)为现有数据调用“clear()” 2)用数据库中的新数据填充缓存。
告诉我,如果我为我拥有的结构(“嵌套”哈希图)调用“clear()”,Java 会清除我的缓存键下包含的所有数据,还是会导致内存泄漏?