草庐IT

阻塞IO

全部标签

java - 如何使用 jstack 查找阻塞线程

使用jstack我得到了一个正在运行的线程树。以下Thread.State的含义是什么:等待TIMED_WAITING可运行tid和nid是什么意思?一个Thread的标题是这样的“事件批处理(SpringUAA/1.0.2)”守护进程prio=10tid=0x0000000041e27800nid=0x363b等待条件[0x00007f9a89267000]如何导航到“等待条件”地址的源代码行 最佳答案 WAITING表示线程正在等待某事。通常您会看到“WAITING(onobjectmonitor)”,这意味着它正在等待noti

java - Eclipse 在枚举上阻塞,即使编译器合规级别为 1.6

我已将我的Eclipse项目的Compilercompliancelevel设置为1.6但是我得到如下截图所示的错误:Syntaxerror,annotationsareonlyavailableifsourcelevelis1.5。我刷新/清理/重新启动Eclipse至少10次。它与Maven2编译良好。Eclipse项目已经通过Maven2生成。项目使用java-6-openjdk 最佳答案 其他解决方案:1)将WorkspaceJRE设置为1.5(并应用/保存)。项目将重建。2)将WorkspaceJRE设置回1.6(并应用/

用于高并发情况的Java有界非阻塞缓冲区

基本上我需要一个数据结构来存储服务器端的临时聊天消息。应该是:有界:因为我不需要存储太多消息,客户端会每秒发送一次获取新消息的请求。我认为绑定(bind)大小应该是最大值。一秒钟内并发请求的数量。当缓冲区已满时,旧消息将被删除。适合高并发访问:我不想使用Collections.synchronizedXXXX这样的数据结构,因为在迭代过程中,如果其他线程改变了数据结构,例如添加一条消息,它会抛出一个异常,所以我必须锁定整个数据结构,实际上我并不关心客户端请求是否可以获得最后插入的消息,因为他们会在一秒钟后发送一个新请求,另一方面,写操作应该永远不会延迟。包java.util.concu

加载 gnu.io.RXTXCommDriver 时抛出 java.lang.UnsatisfiedLinkError : no rxtxSerial in java. library.path

Fedora现在正在使用(包已安装包rxtx-2.2-0.5.20100211.fc15.i686已安装且最新版本)。我已经使用/尝试过:#locatelibrxtxSerial/home/sun/Downloads/rxtx-2.1-7-bins-r2/Linux/i686-unknown-linux-gnu/librxtxSerial.so/home/sun/Downloads/rxtx-2.1-7-bins-r2/Linux/ia64-unkown-linux-gnu/librxtxSerial.so/home/sun/Downloads/rxtx-2.1-7-bins-r2/L

java - io.rest-assured 和 jayway rest-assured 有什么区别?

io.rest-assured和jaywayrest-assured有什么区别?我应该使用哪个框架进行restfullweb服务测试? 最佳答案 RESTAssured有一个新的组ID,io.rest-assured。以前您像这样依赖RESTAssured(Maven):com.jayway.restassuredrest-assured${rest-assured.version}但现在你可以:io.rest-assuredrest-assured${rest-assured.version}来自文档:https://github

java.io.File.<init>(File,String) JDK 版本依赖

这个问题在这里已经有了答案:Isthisabuginjavajdk?(2个答案)关闭4年前。看起来java.io.File.(File,String)依赖于JDK版本。代码示例在Windows10上运行。代码示例:publicstaticvoidmain(String...args){Stringpath="C:\\Workspace\\project";Filefile=null;for(Stringpart:path.split("\\\\")){file=newFile(file,part);}System.out.println(file);//prints"C:Workspa

Linux 上的 Java 应用程序在 "java.io.UnixFileSystem.getBooleanAttributes0"处挂起

我们的客户应用程序似乎因以下堆栈跟踪而挂起:java.lang.Thread.State:RUNNABLEatjava.io.UnixFileSystem.getBooleanAttributes0(NativeMethod)atjava.io.UnixFileSystem.getBooleanAttributes(UnknownSource)atjava.io.File.isFile(UnknownSource)atorg.tmatesoft.svn.core.internal.wc.SVNFileType.getType(SVNFileType.java:118)atorg.tma

java - 最终阻塞在守护线程中

我知道守护线程中的finallyblock不会被执行。但是我一丝不苟的本性试图理解为什么以及在JVM中发生的事情如此特殊以至于它无法调用此block下的代码。我认为它在某种程度上与无法展开的调用堆栈有关,但不知道如何展开。有人可以对此有所了解吗?谢谢。 最佳答案 谁说守护线程中的finallyblock不执行?一般来说,这不是正确的。您可能听说在执行try期间关闭JVM时,不能保证执行finallyblock>(或catch)block。这是正确的(守护线程很容易发生这种情况)。但同样:在正常操作期间,没有什么可以阻止finally

java - 网址java.io.IOException : Server returned HTTP response code: 411 in JAVA

我正在检查网络是否可用URLurl=newURL("http://www.google.co.in/");finalHttpURLConnectionconn=(HttpURLConnection)url.openConnection();//setconnecttimeout.conn.setConnectTimeout(1000000);//setreadtimeout.conn.setReadTimeout(1000000);conn.setRequestMethod("POST");conn.setRequestProperty("Content-Type","text/xml

有效 URL 的 java.io.FileNotFoundException

我使用库rome.dev.java.net来获取RSS。代码是URLfeedUrl=newURL("http://planet.rubyonrails.ru/xml/rss");SyndFeedInputinput=newSyndFeedInput();SyndFeedfeed=input.build(newXmlReader(feedUrl));您可以检查http://planet.rubyonrails.ru/xml/rss是有效的URL,页面显示在浏览器中。但是我的应用程序出现异常java.io.FileNotFoundException:http://planet.rubyon