草庐IT

nio-thread

全部标签

Java NIO 文件路径问题

我使用以下代码获取路径PatherrorFilePath=FileSystems.getDefault().getPath(errorFile);当我尝试使用FileNIO移动文件时,我收到以下错误:java.nio.file.InvalidPathException:Illegalcharatindex2:\C:\Sample\sample.txt我也尝试过使用URL.encode(errorFile)这会导致相同的错误。 最佳答案 您需要将找到的资源转换为URI。它适用于所有平台,并保护您免受路径可能出现的错误。您不必担心完整路

java - TimerTask vs Thread.sleep vs Handler postDelayed - 每N毫秒调用一次函数最准确?

每N毫秒调用一次函数最准确的方法是什么?带有Thread.sleep的线程定时器任务带有postDelayed的处理程序我修改了thisexample使用Thread.sleep并且不是很准确。我正在开发一个音乐应用程序,它将以给定的BPM播放声音。我知道创建一个完全准确的节拍器是不可能的,我也不需要-只是想找到最好的方法来做到这一点。谢谢 最佳答案 使用定时器有一些缺点它只创建一个线程来执行任务,如果一个任务运行时间太长,其他任务会受到影响。它不处理任务和线程抛出的异常只是终止,这会影响其他计划任务,它们从不运行Scheduled

java - TimerTask vs Thread.sleep vs Handler postDelayed - 每N毫秒调用一次函数最准确?

每N毫秒调用一次函数最准确的方法是什么?带有Thread.sleep的线程定时器任务带有postDelayed的处理程序我修改了thisexample使用Thread.sleep并且不是很准确。我正在开发一个音乐应用程序,它将以给定的BPM播放声音。我知道创建一个完全准确的节拍器是不可能的,我也不需要-只是想找到最好的方法来做到这一点。谢谢 最佳答案 使用定时器有一些缺点它只创建一个线程来执行任务,如果一个任务运行时间太长,其他任务会受到影响。它不处理任务和线程抛出的异常只是终止,这会影响其他计划任务,它们从不运行Scheduled

Java Event-Dispatching Thread 解释

我最近开始学习和探索Java中GUI编程的基础知识。已经编程了一段时间,我只做过后端工作或工作,因此我最接近用户界面的是命令控制台(我知道很尴尬)。我正在使用Swing,据我所知,通过扩展,我也在使用AWT。我的问题是基于这段代码:java.awt.EventQueue.invokeLater(newRunnable(){publicvoidrun(){newframe.setVisible(true);}});我已经研究了一段时间,因为我想完全理解这段奇怪的代码,并且多次遇到“事件调度线程”这个术语。如果我错了,请纠正我,但据我所知;它与使用多个线程以及JavaSwing如何解释这些

Java Event-Dispatching Thread 解释

我最近开始学习和探索Java中GUI编程的基础知识。已经编程了一段时间,我只做过后端工作或工作,因此我最接近用户界面的是命令控制台(我知道很尴尬)。我正在使用Swing,据我所知,通过扩展,我也在使用AWT。我的问题是基于这段代码:java.awt.EventQueue.invokeLater(newRunnable(){publicvoidrun(){newframe.setVisible(true);}});我已经研究了一段时间,因为我想完全理解这段奇怪的代码,并且多次遇到“事件调度线程”这个术语。如果我错了,请纠正我,但据我所知;它与使用多个线程以及JavaSwing如何解释这些

java - RabbitMQ 示例 : Multiple Threads, channel 和队列

我刚看完RabbitMQ'sJavaAPIdocs,并发现它非常翔实和直截了当。如何设置简单的示例Channel用于发布/消费非常容易理解和理解。但这是一个非常简单/基本的例子,它给我留下了一个重要的问题:如何设置1+Channels向多个队列发布/消费?假设我有一个RabbitMQ服务器,上面有3个队列:logging,security_events和customer_orders.所以我们要么需要一个Channel能够发布/使用所有3个队列,或者更有可能拥有3个独立的Channels,每个专用于一个队列。最重要的是,RabbitMQ的最佳实践要求我们设置1Channel每个消费者线

java - RabbitMQ 示例 : Multiple Threads, channel 和队列

我刚看完RabbitMQ'sJavaAPIdocs,并发现它非常翔实和直截了当。如何设置简单的示例Channel用于发布/消费非常容易理解和理解。但这是一个非常简单/基本的例子,它给我留下了一个重要的问题:如何设置1+Channels向多个队列发布/消费?假设我有一个RabbitMQ服务器,上面有3个队列:logging,security_events和customer_orders.所以我们要么需要一个Channel能够发布/使用所有3个队列,或者更有可能拥有3个独立的Channels,每个专用于一个队列。最重要的是,RabbitMQ的最佳实践要求我们设置1Channel每个消费者线

java - lambda 中的无限 while 循环内的 Thread.sleep 不需要 'catch (InterruptedException)' - 为什么不呢?

我的问题是关于InterruptedException,它是从Thread.sleep方法抛出的。在使用ExecutorService时,我注意到一些我不理解的奇怪行为;这就是我的意思:ExecutorServiceexecutor=Executors.newSingleThreadExecutor();executor.submit(()->{while(true){//DOSOMETHINGThread.sleep(5000);}});使用此代码,编译器不会给我任何错误或消息,告诉我应该从Thread.sleep捕获InterruptedException。但是当我试图改变循环条件

java - lambda 中的无限 while 循环内的 Thread.sleep 不需要 'catch (InterruptedException)' - 为什么不呢?

我的问题是关于InterruptedException,它是从Thread.sleep方法抛出的。在使用ExecutorService时,我注意到一些我不理解的奇怪行为;这就是我的意思:ExecutorServiceexecutor=Executors.newSingleThreadExecutor();executor.submit(()->{while(true){//DOSOMETHINGThread.sleep(5000);}});使用此代码,编译器不会给我任何错误或消息,告诉我应该从Thread.sleep捕获InterruptedException。但是当我试图改变循环条件

java - 如何访问 Java 7 java.nio.file.Path 中的子文件/文件夹?

Java7引入java.nio.file.Path作为possiblereplacement对于java.io.File.使用文件,当我访问特定下的文件时,我会这样做:Fileparent=newFile("c:\\tmp");Filechild=newFile(parent,"child");//thisaccessesc:\tmp\child用Path做这件事的方法是什么?我认为这会起作用:Pathparent=Paths.get("c:\\tmp");Pathchild=Paths.get(parent.toString(),"child");但调用parent.toString