I have a console Java application that needs some data from the database. As the application is running constantly, every 30 seconds, in order to lower the strain on the DB i'm using some sort of cache for the data.
Because there isn't a large amount of the needed data in the database, i'm using singleton Hashmap as my cache. My cache class looks like this:
public class Cache extends Hashmap<Integer, Hashmap<Integer, ArrayList<String>> {
//some code
}
Every 5 minutes system will refresh the cache by:
1) calling "clear()" for the existing data 2) filling the cache with new data from the db.
Tell me, if i call the "clear()" for the structure i have ("nested" hashmaps) will Java clear all the data containd under my cache keys, or i'll end up with memory leaks?