1 java arrays heap garbage-collection memory-management
我正在为Java中的背包问题实现动态编程算法.我声明了数组,然后将其大小初始化为[对象数] [背包的容量].
当我的对象数量或容量变得太大时,我会收到内存错误,因为堆上的空间不足.我的问题是:如果我继续删除双数组中的行,Java会在删除时释放内存吗?或者Java是否保留了我最初创建的数组大小的内存空间?如果是后者,有没有办法在Java中手动释放内存?
谢谢你的帮助!
简短的回答是"是" - 如果你使用这样的数组:
private void foo () {
int[][] bar = new int[10][10];
bar[1] = null;
//at this point, the array that was in bar[1] is eligible for garbage collection
//unless someone else has a reference to it
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3762 次 |
| 最近记录: |