nio

    2热度

    2回答

    我正在将使用阻塞IO和线程每客户端的Java服务器应用程序转换为NIO和单个IO线程(在完成基本实现后可能是线程池)。我遇到的一件事是在客户闲置一段时间后断开客户端连接。 我以前一直在使用SO_TIMEOUT和阻塞读取。但是,对于基于选择器的IO,读取不会阻塞...我希望能够设置超时并能够在读取超时时选择类似SelectionKey.isReadTimeout()的东西,但是没有任何东西这似乎存在

    7热度

    7回答

    我正在做一些与Java NIO相关的研究。我需要找到一些基于此框架的代表 应用程序。请随时提出建议!多多益善! 谢谢

    1热度

    3回答

    有没有办法查看NIO缓冲区的内存使用情况? JConsole中有非堆内存部分,但我不认为这包括NIO缓冲区? 操作系统是Linux(Ubuntu或CentOS)如果这很重要。 问候, 维姆

    0热度

    1回答

    我想调用一个bean中的http客户端方法(HTTP PUT,GET,等),但我想要这些bean,无论是MDB还是无状态会话bean,尽可能快地运行(极短的生命周期)。 ---[ejb request]--> bean -----[http request]----> host 问题是,HTTP连接速度太慢(特别是连接到慢主机时)。 以MDB为例,由于HTTP延迟,MDB运行时间过长,并且随着

    1热度

    3回答

    我有一个socketChannel配置为阻塞,但从这个套接字读取5K字节缓冲区时,我有时会得到一个不完整的缓冲区。 ByteBuffer messageBody = ByteBuffer.allocate(5*1024); messageBody.mark(); messageBody.order(ByteOrder.BIG_ENDIAN); int msgByteC

    2热度

    2回答

    我正在使用Java NIO的SocketChannel写入:int n = socketChannel.write(byteBuffer);大部分时间数据是以一个或两个部分发送的;即如果数据不能以一次尝试发送,则剩余的数据被重试。 这里的问题是,有时候,数据不是一次性发送完毕,其余的数据当试图发送多次时,即使在尝试多次后,也没有发生单个字符被写入频道,最后经过一段时间重新发送数据。这个数据可能不大

    2热度

    3回答

    我是使用MINA的新手。 我有一个使用MINA NIOconnector连接主机的程序。 我可以发送数据,也可以接收。这从我附在下面的log4j日志中是清楚的。 E:\>java TC4HostClient [12:21:46] NioProcessor-1 INFO [] [] [org.apache.mina.filter.logging.LoggingFil ter] - CREATED

    10热度

    4回答

    我可以理解为什么网络应用程序会使用多路复用(不会创建太多的线程),以及为什么程序会使用异步调用进行流水线处理(更高效)。但我不明白AsynchronousFileChannel的效率目的。 任何想法?

    3热度

    2回答

    我知道存在很多这样的问题,但是我找不到特定于我的情况的问题。我将4x4矩阵实现为NIO浮点缓冲区(这些矩阵用于OpenGL)。现在我想实现与矩阵B和结果存储在矩阵相乘C.矩阵的乘法方法,因此,代码可能看起来像这样: class Matrix4f { private FloatBuffer buffer = FloatBuffer.allocate(16); public M

    1热度

    1回答

    我试图使用 FileLock lock(long position, long size,boolean shared) 在FileChannel对象按它可以抛出OverlappingFileLockException的Javadoc。当我使用2个线程创建一个测试程序时,锁定方法似乎在等待获取锁定(独占和非独占)。但是,当数量线程在重叠文件锁定的情况下增加时,会抛出异常并导致处理速度变慢在文件