【发布时间】:2014-07-11 18:27:27
【问题描述】:
我正在做一个快速实验,看看我的算法的内存性能如何。 输入约为 2 Mb,算法运行大约需要 1 秒。 我在循环中运行了 500 次,以便能够查看内存分配。
这是 jConsole 显示内存使用情况的方式:
正如您所见,在 GC 开始之前,堆内存使用量每两次增加(有点指数)(即使输入相同)。
有人知道这是否是预期的以及为什么会发生吗?是JVM做了一些优化吗?
谢谢!
【问题讨论】:
-
您的算法似乎需要更多时间才能运行。你确定你正在运行相同数量的迭代吗?
-
@JigarJoshi 如果你在 GC 之后查看内存,你会发现没有内存泄漏(至少不是很大)
-
我同意——不是内存泄漏的迹象。
-
在不了解算法的情况下,您无法判断这是否是预期的。
标签: java heap-memory jconsole