当您忘记ServerSocket
在 Java 中关闭 a 时会发生什么?JVM 或 TCP/IP 堆栈会自动为您关闭它吗?
此外,当您关闭 a 时ServerSocket
,它是否还会关闭Socket
它通过该accept
方法产生的所有关联连接?
当您忘记ServerSocket
在 Java 中关闭 a 时会发生什么?JVM 或 TCP/IP 堆栈会自动为您关闭它吗?
此外,当您关闭 a 时ServerSocket
,它是否还会关闭Socket
它通过该accept
方法产生的所有关联连接?
当 JVM 终止时,所有资源将被操作系统关闭并释放。
当您忘记在 Java 中关闭 ServerSocket 时会发生什么?
GC 将最终确定 ServerSocket 最终将其关闭,但您不能说何时会发生(或者可能永远不会发生)
JVM 或 TCP/IP 堆栈会自动为您关闭它吗?
它的JVM。TCP/IP 堆栈不知道应该关闭它。
此外,当您关闭 ServerSocket 时,它是否还会关闭它通过 accept 方法产生的所有关联的 Socket 连接?
ServerSocket 用于建立连接,一旦被接受,它与在客户端创建的连接没有什么不同。关闭服务器套接字对接受的连接没有影响。(将关闭那些没有被接受的)
JVM 或 TCP/IP 堆栈会自动为您关闭它吗?
如果它被垃圾收集,JVM 可能会关闭它。当进程退出时,TCP/IP 堆栈将关闭它。您没有说明您期望该操作在什么条件下发生,因此不可能更具体。
当你关闭一个 ServerSocket 时,它是否也会关闭它通过 accept 方法产生的所有关联的 Socket 连接?
当然不。