我在hotspot虚拟机中的Windows2008服务器(64位)上运行我的java应用程序。
几个月前,我创建了一个工具来帮助检测我的应用程序中的死锁。在过去的一个月左右,唯一给我带来问题的就是对文本文件的写入。
主线程似乎总是卡在下面的代码行上,我假设一次大概有5秒。几秒钟后,应用程序继续正常运行,没有任何问题:
PrintWriter writer = new PrintWriter(new FileWriter(PATH + name + ".txt"));不确定是什么导致了这种情况,但如果能深入了解这个问题,我们将不胜感激。我正在编写的文件很小,这不太可能是问题所在(除非有人反对)。
如果您需要更多信息,请让我知道。
发布于 2011-07-31 14:05:41
路径是否在网络驱动器上?您几乎可以看到写入网络文件系统的任何延迟。对于应用程序来说,这样做通常是一个非常糟糕的想法。他们通常应该在本地写入所有文件,然后以某种方式将事务发送到服务器。
发布于 2011-07-31 02:31:06
当您的文件系统超载时,即使是最简单的任务,您也可以看到延迟。例如,如果我创建了一个大文件(多GB),并试图执行一个简单的磁盘访问,但没有缓存,它可能会等待几秒钟。
我会检查你的磁盘写缓存是否打开,并且你的磁盘大部分时间都是空闲的。;)
https://stackoverflow.com/questions/6884490
复制相似问题