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