没什么特别的,只是有点烦人。在这个ObjectInputStream$HandleTable$HandleList[]上使用了1.4GB的内存。
我使用ObjectInputStream和ObjectOutputStream将我的文件解析成一个二进制(.obj)文件。所以当然会出现这种情况。我更多地想知道是否存在某种“黑科技”来减少这种情况。也许。
已经尝试过input.close()和output.close(),但由于我的写入和读取被try/catch {}包围,这两个方法调用是多余的。
minlat = input.readFloat();
minlon = input.readFloat();
maxlat = input.readFloat();
maxlon = input.readFloat();
kdtreeCoastline = (KDTree) input.readObject();
kdtreeBicycle = (KDTree) input.readObject();
----
output.writeFloat(minlat);
output.writeFloat(minlon);
output.writeFloat(maxlat);
output.writeFloat(maxlon);
output.writeObject(kdtreeCoastline);
output.writeObject(kdtreeBicycle);
我并不期望它被缩减为0字节,但我想知道是否有人可能有想法。
提前感谢。
try-with-resources
还是只用try-catch
? - Karol DowbeckiKDTree
实现,是自定义的吗?这实际上决定了可能的解决方案。 - yegodm