通常,内存在Java"堆"上分配,作为创建对象的自动结果.它是自动管理的; 一旦一个对象不再被引用,最终垃圾收集器就会将它曾经占用的内存返回给可用池.有关更多信息,请访问java.sun.com站点,例如本内容管理概述.特别是因为它与Sun的JVM实现HotSpot 有关,它上面有一个PDF.
这与程序员直接控制分配和释放的语言(例如C)形成对比.在Java中,您可以愉快地将其留给环境:
void doSomething() {
NiftyObject joe;
joe = new NiftyObject(); // Allocation
// ...use joe for something...
// Done; no "free" call (or similar) required
}
Run Code Online (Sandbox Code Playgroud)
当joe超出范围(函数返回;我假设函数不返回joe或将其存储在某处)时,joe 可以由垃圾收集器收集.实际发生时完全取决于实现和环境.
| 归档时间: |
|
| 查看次数: |
960 次 |
| 最近记录: |