无法通过remove()或removeAll()方法在HashMap中清除应用程序内存

我创建了一个HashMap,其中数百万个键的插入和移除连续发生(以同步方式)。但是,删除不会删除HashMap占用的内存。因此,我的应用程序的内存变高,最终在某个时刻,该应用程序关闭。

任何人都可以建议在删除HashMap中的键后恢复内存的方法。

插入:

map.put(txnId, new Timestamp(new Date().getTime()));

去除:

Set<String> removalSet = new HashSet<String>();
removalSet.add(entry.getKey());

map.keySet().removeAll(removalSet);