【发布时间】:2013-05-30 17:01:45
【问题描述】:
我的服务器有某种内存泄漏什么的,java CPU 使用率在一小时内跳到 100%,几个小时后跳到 1100%。
我想知道这个循环遍历是否会导致内存泄漏。
for (Object o : friends.values()) {
doSomethingWith(o);
}
friends 是一个 ConcurrentHashMap,当朋友上线或下线时,它的内容可能会在某些情况下发生变化。
如果这是安全的,我怎样才能找到内存泄漏?
提前致谢。
【问题讨论】:
-
@MitchWheat 在具有足够内核的 Linux 上 it could...
-
@MitchWheat 你错了。在 linux 中,CPU 使用率似乎代表每个核心。所以 2 个核心,每个使用 100% 将显示为 200%
-
@Matthew Kirkley:叹息!显示的内容与实际正确的内容有所不同!
-
@MitchWheat 您决定为自己定义“100% CPU”的含义。在你的定义中,你似乎是孤独的。
-
@MarkoTopolnik 不孤单,微软世界站在他这一边;-)
标签: java optimization memory-management memory-leaks concurrenthashmap