我不明白。例如,我们在代码中有一个 OutputStream 类型的变量,我们应该在停止使用它时调用 close() ,这就是为什么它没有以这种方式实现的原因:GC 在清理时调用 close() 本身这个变量?
更新: 好的到目前为止我得出的结论:释放非托管资源不仅是释放内存,更重要的是我们现在不知道它背后的内部行为,它可能存在对此资源数量的限制(连接数/ handlers) 这就是为什么我们需要尽快释放它们。我对吗?因为如果这都是关于内存的,那么我不知道为什么 GC 不能像管理资源那样完成这项工作。