标签:nio

  • 使用Java修改文件内容 - java

    时间:2020-9-2

    我需要就地修改文件的特定内容。我不是,而是,想要创建一个新文件并重写旧文件。而且文件很小,每个最大只有几个MB。对于那些想知道的人(尽管我不确定这是否与OP相关),我需要修改属于版本控制的文件,并且需要修改只读版本。就地进行修改要简单得多。Java API是否可能?如果没有,图书馆提供此服务吗? 参考方案 Java允许随机访问和写入磁盘上的文件。但是,写入文 […]

  • Java NIO-非阻塞通道与AsynchronousChannels - java

    时间:2020-8-30

    Java NIO提供了SocketChannel和ServerSocketChannel,可以将其设置为非阻塞模式(异步)。大多数操作返回的值对应于成功或该操作尚未完成。那么,除了回调功能之外,AynchronousSocketChannel和AsynchronousServerSocketChannel的目的是什么? 参考方案 可以设置为非阻塞模式(异步) […]

  • Java NIO:OP_ACCEPT和OP_READ之间的关系? - java

    时间:2020-8-28

    我正在为我的项目重写核心的NIO服务器网络代码,并且试图找出何时应该“存储”连接信息以备将来使用。例如,一旦客户端以通常的方式连接,我便为该连接的客户端存储并关联SocketChannel对象,以便我可以随时将数据写入该客户端。通常,我将客户端的IP地址(包括端口)用作映射到SocketChannel对象的HashMap中的键。这样,我可以轻松地查找他们的I […]

  • MappedByteBuffer.asFloatBuffer()与内存中float []性能 - java

    时间:2020-8-27

    假设您正在对一大组较大的float向量进行一些计算,例如计算每个的平均值: public static float avg(float[] data, int offset, int length) { float sum = 0; for (int i = offset; i < offset + length; i++) { sum += data […]

  • 什么是“取决于系统的默认”线程池? - java

    时间:2020-8-20

    从 AsynchronousFileChannel API: 如果在未指定线程池的情况下创建了AsynchronousFileChannel,则该通道与与系统相关的默认线程池相关联,该默认线程池可以与其他通道共享。 我在其他任何地方都没有看到该术语,也没有通过网络搜索找到任何具体的解释。与系统有关的默认线程池到底是什么?有什么特点?它们在系统之间可能会有什么 […]

  • 带有NIO的REST API? - java

    时间:2020-8-19

    我一直在构建公共API,该API具有很多并发访问权限,而我认为的方面之一是使用异步I / O考虑可伸缩性方面。 最初,我考虑将Nginx用作HTTP Server(事件驱动),因为他以异步方式工作,这与Tomcat不同。该API将使用Java构建,为此,我认为使用了以下组件: Tomcat 7-HTTP / Web服务器+ Java容器 Netty.io还是 […]

  • 用于文件系统而不是网络的Java NIO框架? - java

    时间:2020-8-15

    有几个高质量的框架掩盖了基于NIO的网络编程的复杂性(mina,netty,grizzly等)。是否有类似的框架可以简化基于NIO的文件系统编程? 例如,作为一项学习练习,我想基于这篇(awesome!)文章http://www.javaworld.com/javaworld/jw-01-1999/jw-01-step.html实现一个磁盘支持的Map。 参 […]

  • 在不使用java.io. *的情况下获取FileChannel(使用纯NIO) - java

    时间:2020-8-3

    最近,我对此answer进行了评论,如果我想使用“纯NIO”,则应该远离java.io。这是简化的代码(复制文件): private static void copy(File source, File destination) throws IOException { long length = source.length(); FileChannel i […]

  • 如何在Java中创建文件时确定允许的最大路径长度 - java

    时间:2020-7-21

    在Java中创建文件时,如何确定允许的最大路径长度。我正在使用Java 7,因此可以使用Java NIO2(如果有帮助),但是如何确定文件在文件系统上允许的最大长度,并确保不尝试创建路径无效的文件。 我想缩短路径(子字符串),然后再尝试创建它,此后不处理问题,特别是因为异常/错误消息可能因fileystem的不同而异。 我不想硬编码每个平台的长度,因为Win […]

  • 用SocketChannel.open()。socket()替换新的Socket()有什么问题吗? - java

    时间:2020-7-19

    如果我简单地更换,会出什么问题? socket = new Socket() 与 socket = SocketChannel.open().socket()? 背景:我有一些使用new Socket()的旧代码,我希望能够中断socket.connect()调用。我不想重写代码以使用NIO。我了解到Thread.interrupt()不会中断socket. […]