nio

    7热度

    4回答

    是否有一种方法(不缓冲整个InputStream)从Java Servlet中获取HttpServletRequest并使用所有NIO将其写出到文件中?它甚至值得尝试吗?它是否能够更快地读取正常的java.io流并写入java.nio Channel?或者它们是否都需要纯粹的NIO才能看到好处?谢谢。 编辑: 所以,我只是做了一个快速和肮脏的标杆,从一个磁盘读取文件和写入不同的磁盘上(所以我实际测

    1热度

    2回答

    请帮我了解以下内容: 我创建了一个CharBuffer使用 CharBuffer.wrapped(new char[12], 2, 10)(数组,偏移量,长度) ,所以我期望该阵列与2偏移和总(REST)长访问10。但arrayOffset()返回0。 我想要什么了解(而不能的JavaDoc弄清楚)是: 时arrayOffset()不0,并且 是有可能让CharBuffer使用数组与“真正的”偏移

    2热度

    3回答

    我正在研究客户端需要向服务器发送一些命令的Clojure应用程序。这些会以相当大的数量发生,所以我希望它在处理和线上串行尺寸方面都是相当高效的。 在Clojure中做这件事的最好方法是什么? 目前,我在想: 创建一个简单的标准表示如{:命令-ID 1,:PARAMS [1 2 3 “ABC”]} 使用一些效率的Java库如Kryo连载,并配置它了解的Clojure数据类型 黑客一起适当的客户机/服

    2热度

    1回答

    我正在尝试编写一个读取客户端发送的数据的TCP服务器。我想在读取之后保持客户端连接打开,以便能够读取任何后续发送的数据。 我执行的代码如下: while(true) { try { int keysSelected = selector.select(); System.out.println("keysSelected = " + keysSelecte

    5热度

    2回答

    有通过的SelectableChannel注册运营的兴趣: SelectionKey = SelectableChannel.register(selector, interestInOpsBitmask) 注册兴趣: 通过执行SelectableChannel.register覆盖现有的SelectionKey与新的行动 VS.更新与key.interestOps现有的SelectionKe

    0热度

    2回答

    public class CustomProtocolDecoder extends CumulativeProtocolDecoder{ byte currentCmd = -1; int currentSize = -1; boolean isFirst = false; @Override protected boolean doDecode(IoSession is, ByteB

    2热度

    2回答

    有人请向我解释一下netty如何处理“Downstream Exceptions”?据javadoc的有没有下游例外: http://docs.jboss.org/netty/3.1/api/org/jboss/netty/channel/ExceptionEvent.html 鉴于在我的下游处理的一个例外occures或I/0线程本身的情况下,如果能够将这些错误被获取,并handeled? 非常

    2热度

    1回答

    我在使用Files.probeContentType(path)方法测试文件类型的应用程序时遇到了一些奇怪的问题:在我的Ubuntu和Fedora上系统工作正常,但移到RedHat Enterprise服务器(2.6.18-194.el5#1 x86_64 x86_64 x86_64 GNU/Linux)时,它只会返回空值。我正在使用java 7早期访问(1.7.0-ea-b84)。由于1.6中未

    9热度

    1回答

    我写了一个解析器类特定的二进制格式(nfdump如果有人有兴趣),这使用java.nio的MappedByteBuffer来读取每个几GB的文件。二进制格式只是一系列头文件和大部分固定大小的二进制记录,它们通过调用nextRecord()函数发送给调用者,该函数将推送状态机,完成后返回null。它表现良好。它适用于开发机器。 在我的生产主机上,它可以运行几分钟或几小时,但似乎总是抛出“java.l

    1热度

    1回答

    我有一个ByteBuffer,其中包含由String.getBytes(charsetName)派生的字节,其中“containing”表示该字符串包含ByteBuffer的position()和limit()之间的整个字节序列。 什么是最好的方式让我回到弦? (假设我知道编码字符集)有什么比下面的(这似乎有点麻烦) byte[] ba = new byte[bbuf.remaining()];