54得票3回答
使用Java 7新IO获取文件/目录大小

如何使用Java 7中的新NIO获取文件或目录的大小?

40得票7回答
Java每个连接一个线程模型 vs NIO

非阻塞的Java NIO是否仍然比每个连接一个线程的异步套接字慢? 另外,如果您要使用每个连接一个线程,您会创建新线程还是使用非常大的线程池? 我正在用Java编写一个MMORPG服务器,只要硬件足够强大,就应该能轻松扩展到10000个客户端,尽管最大客户端数量为24000(我认为由于Ja...

15得票2回答
如何将文件移动到非空目录?

我对Java的nio包不熟悉,无法弄清如何将文件从一个目录移动到另一个目录。我的程序应该遍历目录及其子目录,并根据特定条件处理文件。我可以使用Files.walkFileTree获取所有文件,但是当我尝试移动它们时,我会得到java.nio.file.AccessDeniedException...

7得票2回答
在Linux机器上对Netty 4.1进行性能调优

我正在使用Netty 4.1 Beta3设计我的服务器来构建一个消息应用程序,该服务器可以理解MQTT协议。 以下是我的MqttServer.java类,它设置了Netty服务器并将其绑定到特定端口。 EventLoopGroup bossPool=new NioEvent...

13得票2回答
如果文件不存在,使用Java 7的清洁方法创建文件

如何在Java 7或Java 8中创建文件(如果不存在)?

10得票3回答
在使用Files.newInputStream和StandardOpenOption.CREATE时出现NoSuchFileException异常

我想打开一个文件进行读取,如果该文件不存在,则创建该文件。 我使用以下代码: String location = "/test1/test2/test3/"; new File(location).mkdirs(); location += "fileName.properties"; Pa...

16得票3回答
替代的Java选择器实现

我正在编写一个高性能/低垃圾的应用程序(微秒很重要),其中包含一个网络组件。我遇到的一个痛点是Java NIO内置Selector的实现。 几个问题: 大量对象创建。几乎每次调用selectedKeys()都会创建许多对象。迭代器、装箱/拆箱等等。这在大多数其他情况下不是问题,但我正在编...

96得票3回答
Java:将字符串转换为ByteBuffer和从ByteBuffer转换回字符串以及相关问题

我正在使用Java NIO进行套接字连接,并且我的协议是基于文本的,因此在将它们写入SocketChannel之前,我需要能够将字符串转换为ByteBuffer,并将传入的ByteBuffer转换回字符串。目前,我正在使用以下代码:public static Charset charset =...

29得票1回答
如何在套接字通道中发送和接收序列化对象

我想通过套接字通道传输一个序列化对象。 我想将“Hi friend”字符串作为序列化对象,然后在将该对象写入套接字通道时,在另一端我想读取相同的对象并检索数据。 我想使用Java的SocketChannel完成所有这些操作。如何实现? 我已尝试像下面这样做,但在接收端没有获取到任何数据。pr...

29得票2回答
为什么Netty引入了本地epoll支持?

我相信Java的NIO库将在Linux机器上使用epoll。相比于在Linux机器上使用NIO,使用Epoll有哪些优势呢?