相关疑难解决方法(0)

Java:无限循环公约

Java中无限循环的约定是什么?我应该写while(true)还是for(;;)?我个人会使用,while(true)因为我经常使用while循环.

java conventions infinite-loop

39
推荐指数
5
解决办法
8万
查看次数

Java for(;;)循环?

我一直在闯入Netty网络库,试图学习如何编写一些基本的NIO网络代码,当我遇到一些看起来不对我的东西时,一个没有任何内部的for循环,这里是代码:

for (;;) {
    SocketChannel acceptedSocket = channel.socket.accept();
    if (acceptedSocket == null) {
        break;
    }
    registerAcceptedChannel(channel, acceptedSocket, thread);
}
Run Code Online (Sandbox Code Playgroud)

我立即检查了循环的文档教程,位于此处,找不到与此声明相关的任何内容.

直接在此代码上方的注释说明如下:

 // accept connections in a for loop until no new connection is ready
Run Code Online (Sandbox Code Playgroud)

但这并没有真正向我解释它是如何工作的,或者为什么,它只是说它正在做什么.

如果您需要整个方法,这里是:

 @Override
protected void process(Selector selector) {
    Set<SelectionKey> selectedKeys = selector.selectedKeys();
    if (selectedKeys.isEmpty()) {
        return;
    }
    for (Iterator<SelectionKey> i = selectedKeys.iterator(); i.hasNext();) {
        SelectionKey k = i.next();
        i.remove();
        NioServerSocketChannel channel = (NioServerSocketChannel) k.attachment();

        try {
            // accept connections in a for …
Run Code Online (Sandbox Code Playgroud)

java loops for-loop

0
推荐指数
1
解决办法
177
查看次数

标签 统计

java ×2

conventions ×1

for-loop ×1

infinite-loop ×1

loops ×1