草庐IT

nio-thread

全部标签

java - "vm thread"在 JDK 1.6 中的作用是什么

这个问题在这里已经有了答案:Whatdoesjava"VMthread"do?(4个答案)关闭9年前。我们在客户的系统中看到该线程的大量Activity,因此想知道可能发生了什么。任何链接、信息、教程?P.S:这是在带有JDK1.6.0_23的Solaris10上发生的。

java - 为什么 NIO.2 FileVisitor 类型是通用的?

我正在研究JavaNIO.2及其文件操作,目前我正在研究文件树遍历函数和类。NIO.2FileVisitorAPI很棒,很遗憾这样的东西是最近才添加到JavaSE中的,而不是十年前。然而,有些事情让我有点困扰:制作FileVisitor有什么意义?接口(interface)通用?网络上的每个示例都展示了如何将它与Files.walkFileTree()一起使用这意味着我们正在使用FileVisitor类型。但除了Path之外,我看不出此接口(interface)有任何用途。.好吧,可能可以使用FileVisitor遍历其他类型的树(内存中的树?),但这感觉不对:此接口(interfac

java - 如果目标尚未启动,Java 中 Thread.join() 的行为是什么?

在多线程java程序中,如果一个线程对象T已经被实例化,然后在线程启动之前调用了T.join()会怎样?假设某个其他线程可以在T实例化后的任何时间调用T.start(),可以是在另一个线程调用T.join()之前或之后。我问是因为我认为我有一个问题,在T.start()之前调用了T.join(),并且调用T.join()的线程挂起。是的,我知道我有一些设计问题,如果解决了这些问题,就可以解决这个问题。但是,我想知道join()行为的细节,因为JavaAPI文档唯一说的是“等待此线程结束”。 最佳答案 它只会返回。请参见下面的代码-i

java - 非阻塞 (NIO) 读取行

我需要使用java.nio逐行读取文件,但是nio没有像readline()这样的方法一次阅读一个完整的行。有哪些解决方案? 最佳答案 我知道你们不喜欢限制,但万一问的人无权访问IO包或由于某种原因不允许导入它,最佳答案没有帮助...完全没有IO的两种方法:java.nio.file.Files.lines,返回一个行流,它是.util包的一部分,而不是像bufferedReader那样的.io包。java.nio.file.Files.readAllLines,返回可迭代的行集合。继续使用迭代器或foreach来提取一行。干杯

java - 应用挂起或应用 Activity 期间出现 "Not on FX application thread"

应用程序对游戏handle上发生的操作使用react。当按下按钮时,UI上会发生一些事情。但是我遇到了应用程序挂起或“java.lang.IllegalStateException:不在FX应用程序线程上”异常的问题。为了修复它,我尝试了以下方法:Platform.runLater()和Task用法。但这没有帮助。这是问题代码:publicclassGamepadUIextendsApplication{privatestaticfinalintWIDTH=300;privatestaticfinalintHEIGHT=213;privatePaneroot=newPane();pri

Java.nio channel 和 TLS

如何使用TLS保护JavaSocketChannel、ServerSocketChannel或者甚至是DatagramChannel?我知道有一些框架(#1#2)宣传能够,但我想知道是否可以单独使用纯Java标准库来实现这一点。 最佳答案 您需要使用SSLEngine,如Non-blockingI/OwithSSLEngine中所述.您提到的图书馆使用它或使用使用它的图书馆。(请注意,这是出了名的难用。)您可能会发现这些链接很有趣:Thisanswer(其中还包含指向书籍章节的链接)。NotesfromJean-FrançoisAr

java - kafka.consumer.SimpleConsumer : Reconnect due to socket error: java. nio.channels.ClosedChannelException 异常

我正在为kafka运行一个简单的消费者,如下所示:inttimeout=80000;intbufferSize=64*1024;consumer=newSimpleConsumer(host,port,timeout,bufferSize,clientName);这可以正常运行几个小时,但出现异常稍后的kafka.consumer.SimpleConsumer:由于套接字错误重新连接:java.nio.channels.ClosedChannelException然后消费者停止......以前有人遇到过这个问题吗? 最佳答案 一个略

java.nio.文件.FileSystemException : The process cannot access the file because it is being used by another process

我正在编写一个程序,在第一次执行时将自己复制到特定文件夹,在linux或windows中工作。在linux中它工作得很好但是当我尝试在windows上做同样的事情时我得到以下错误:java.nio.file.FileSystemException:Theprocesscannotaccessthefilebecauseitisbeingusedbyanotherprocess(insun.nio.fs.WindowsException)那么,另一个进程是程序本身,我应该用什么来跳过这个错误呢?我的代码行是:publicvoidinstallProgram(){System.out.pr

Windows 10 上的 Java Thread.sleep() 在 S3 sleep 状态下停止

有一个桌面应用程序使用Thread.sleep()来实现长时间(分钟或小时)的延迟。同样的应用程序从WindowsXP到(至少)Windows7一直运行良好。应用程序计算它需要在多长时间后做某事,然后点击Thread.sleep(msToWait)。这一直运行良好,即使系统在等待期间碰巧进入S3sleep状态。不过,从Windows10开始,如果机器处于S3状态,则Thread.sleep()之后的代码不会“按时”执行。机器似乎在“msToWait”加上机器进入S3的时间开始执行代码(现在不能100%确定这一点,但很有可能)。早期版本的Windows没有这种行为;Thread.slee

java.nio.channels.ClosedChannelException

我该如何解决这个问题。我收到以下错误:java.nio.channels.ClosedChannelException这是编码:publicvoidrun(){try{SocketChannelsocketChannel=(SocketChannel)key.channel();ByteBufferbuffer=ByteBuffer.allocate(512);inti1=socketChannel.read(buffer);if(buffer.limit()==0||i1==-1){Sockets=null;try{s=socketChannel.socket();s.close()