hazelcast对象破坏机制

时间:2016-01-05 06:09:59

标签: java garbage-collection hazelcast

我的hazelcast版本是3.4.1。

我通过Locks and Maps使用hazelcast。我发现hazelcast服务器上的堆内存不断增加。我创建的所有Locks and Maps都被方法{{1}销毁但是,即使通过FGC,垃圾收集器也无法销毁内存。因此,当我的程序运行一段时间后,destroy()服务器将关闭。

为什么呢?

我的代码如下所示:

hazelcast

我抛弃了堆,发现 ILock lock=hazelcastInstance.getLock("host"+hostId); lock.lock(); try { //do host businesses } finally{ lock.unlock(); lock.destroy(); } 已被销毁。但是,与Locks and Maps相关的许多其他对象都没有被销毁。所以我创建的Locks and Maps越新,堆越快越快。

当我销毁Locks and Maps时,堆中仍然存在一种对象相关性:

1。Locks and Maps在LockServiceImpl中的evictionProcessors

2. LockStoreContainer中的ConcurrentMap<ObjectNamespace, EntryTaskScheduler> lockStores

3. LocalMapStatsProvider中的ConcurrentMap<ObjectNamespace, LockStoreImpl> statsMap

这是ConcurrentMap<String, LocalMapStatsImpl>的错误吗?或hazelcast不支持不断创建新hazelcast并销毁它们的场景?

heap

evictionProcessors

lockStores

statsMap

0 个答案:

没有答案