gpt4 book ai didi

java - clojure repl是否存储之前命令的返回值

转载 作者:行者123 更新时间:2023-11-30 02:08:20 28 4
gpt4 key购买 nike

如果我在 clojure repl 中执行此命令:

(take 5000000 (range))

此命令打印出最多 500 万个数字(需要一些时间),并且在执行期间 clojure 的内存使用量增加到 750 MB 并且在 session 的其余部分中保持该状态。 repl 是否存储了先前命令的返回值,或者是因为 clojure 中的内存泄漏?

最佳答案

是的,Clojure REPL retains the result of the last 3 expressions :

Several special vars are available when using the REPL:

  • *1, *2, *3 - hold the result of the last three expressions that were evaluated

  • *e - holds the result of the last exception

一旦执行更多表达式,并且占用如此多内存的结果将不再被 *1 之一引用。 , *2*3 ,那么下一次垃圾收集器运行应该回收该内存。

关于java - clojure repl是否存储之前命令的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50815479/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com