【发布时间】:2018-11-21 18:02:31
【问题描述】:
如果我在 clojure repl 中执行此命令:
(take 5000000 (range))
此命令打印出最多 500 万的数字(需要一些时间),并且在执行 and it stays at that throughout the rest of the session 期间,clojure 的内存使用量增加到 750 MB。 repl 是存储了之前命令的返回值还是因为 clojure 内存泄漏?
【问题讨论】:
-
Clojure 保留了一些最新的调用(如果我没记错的话,有 2 或 3 个),但我想这更多是 JVM 的问题,它不会将内存还给操作系统(这是标准行为)我可以告诉)。可能不会使用内存,但会保留空间。默默地尝试你的代码几次,你就会看到。
-
@JosephYourine 我试过了,每次调用时内存使用量都在增加。
标签: java memory-leaks clojure read-eval-print-loop