gpt4 book ai didi

java - GC 期间未引用的套接字对象

转载 作者:行者123 更新时间:2023-12-02 04:01:23 25 4
gpt4 key购买 nike

我有一个 java.util.List 对象,它保存用于池化目的的连接套接字。在某个时候我想刷新这个列表。为此,我将列表大小设置为 0。刷新之前列表中的套接字对象会发生什么情况。 jvm 会在垃圾收集期间正确关闭它们吗?或者我应该遍历列表并自己关闭每个列表?

最佳答案

Socket 这样持有操作系统资源的对象通常会在收集垃圾时关闭这些资源(对于套接字,这是在 AbstractPlainSocketImpl 的终结器中完成的)。

但是由于垃圾收集运行时未定义它,因此您应该自己关闭这些对象以尽早释放这些资源。否则,您将面临耗尽操作系统资源的风险。

编辑:还请阅读 Peter Lawrey 的评论,他比我能更好地表达为什么等待 GC 释放操作系统资源不是一个好主意。

关于java - GC 期间未引用的套接字对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34851544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com