![]() |
1
5
首先,您的循环不正确。
其中任何一个都是正确的:
同样地,在
现在,如果您使用variant 1,那么内存应该会像您以前看到的那样增长到千兆字节,而variant 2应该是一个非常恒定的小值。 区别在于
等于
安
多晚?默认情况下,当前运行循环会勾选一次。但是,这里没有显式的运行循环*,因此运行循环没有运行。自动释放池从来没有机会清除这10个 九 分配的临时字符串。 但是,对于变量2,临时字符串会立即释放,因此临时字符串不会填满内存。(我们不需要等待池内的水冲出“池”,不涉及池内的水。) 注: *:A run loop 是附加到每个运行线程的唯一循环。如果编写一个cli实用程序,就很少需要有run循环。 |
![]() |
CocoaMix86 · 变量超出作用域后未回收内存[重复] 4 月前 |
![]() |
Yousef Dawood · javascript中的不变性是什么意思 10 月前 |
![]() |
SkyBlue · Java Spring服务的内存/垃圾收集器问题 10 月前 |
![]() |
f99 · 需要在内存位置使用指针-bad_alloc返回对象实例的建议吗? 11 月前 |