我的问题似乎很la脚,但出于好奇我想问这个问题。当我们编写一个独立的Java程序时,它将被执行,然后终止。但是在套接字编程中,我们创建了while true循环,在该循环下,它不断侦听请求。可以仅使用while(true)来创建服务器吗?如果这样做,则不会创建内存不足异常吗?
答案 0 :(得分:2)
在while(true)
循环中,如果您的循环中没有内存泄漏,则没有内存不足异常。如果您尝试无休止地运行递归,则由于调用堆栈的增加,有时会发生这种情况。
如果程序必须无休止地运行(或直到某种条件,但没有固定数量的操作),则它需要无休止的循环,有时它被称为事件循环,听起来更加花哨,但是大多数程序都将其放在某个地方。
从技术上讲,您也可以编写for(;;)
,从理论上讲,在没有优化的环境中这样做会更好,因为不需要检查任何条件,但是大多数编译器仍然会优化while(true)
。