【发布时间】:2018-07-01 02:21:04
【问题描述】:
在java中使用new关键字时,分配了内存,但是我这里搞糊涂了:
Foo f1 = new Foo(); //consumes memory m1
Foo f2 = new Foo(); //consumes memory m2
f2=f1; //Now, f2 just points to f1, so what about the memory m2
内存 m2 是否只是等待 GC,因为内容没有被复制,f2 和 f1 现在指向同一个东西 m1 或 m2?这是否会导致在 GC 执行其操作之前未使用内存?
欢迎对此的任何解释或意见。
【问题讨论】:
-
如果不再需要,GC 会清理它。分配的堆仍然包含它被初始化的值。
标签: java memory reference garbage-collection