草庐IT

thread-exceptions

全部标签

没有堆栈的 Java "Thread-2"会阻止终止

我有一个非常复杂的Java程序,它不会终止。Eclipse调试器显示一个可以暂停的线程,但没有堆栈跟踪。它被称为“Thread-2”。此线程的jstack-l输出是:"Thread-2"#17prio=5os_prio=0tid=0x00007f1268002800nid=0x3342runnable[0x0000000000000000]java.lang.Thread.State:RUNNABLELockedownablesynchronizers:-None我在Thread.start()中添加了断点,但找不到名为“Thread-2”的线程。该线程仅在创建两个“AWT-Event

java - 为什么是 "Multiplexed, non-blocking I/O, [..] much more scalable than thread-oriented, blocking I/O"?

我正在阅读JDK7文档(here)中有关channel的内容,并偶然发现了这个:Multiplexed,non-blockingI/O,whichismuchmorescalablethanthread-oriented,blockingI/O,[...]是否有关于为什么会这样的简单解释? 最佳答案 因为线程堆栈通常比支持异步I/O连接所需的数据结构大得多。此外,调度数千个线程效率低下。 关于java-为什么是"Multiplexed,non-blockingI/O,[..]muchmo

java - 始终调用 Thread.currentThread().interrupt();捕获 InterruptedException 时?

ThisIBMdeveloperWorksarticle状态:“Theonetimeitisacceptabletoswallowaninterruptiswhenyouknowthethreadisabouttoexit.ThisscenarioonlyoccurswhentheclasscallingtheinterruptiblemethodispartofaThread,notaRunnable[…]”.我现在总是为我的线程实现Runnable。像这样提供Runnable实现:publicclassView()implementsRunnable{@Overloadpublic

java - 错误处理程序 Servlet : how to get exception cause

我的web.xml中配置了一个错误的servlet:java.lang.Exception/ExceptionHandler对吗?在我的(一般)servlet中:doGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{try{......}catch(Exceptione){thrownewServletException("somemesage",e);}}因此,“e”将是这种情况的根本原因。在我的ExceptionHandler类中,我有:doGet

java - 非法参数异常 : Numbers of source Raster bands and source color space components do not match For a color image Exception

上面有人建议的答案将我的彩色图像转换为黑白图像。所以它不适合我的问题。Filefile=newFile("path");BufferedImagebufferedImage=ImageIO.read(file);这是代码,下面是图片。下载图像并保存在您的电脑中。并尝试使用正确的路径值运行上面的代码,它会在主题中抛出异常下载图片:https://skydrive.live.com/?cid=19547371C4F3B839&id=19547371C4F3B839%21105只要有人可以从图像中获取java.awt.image.BufferedImage对象就足够了(不应将图像转换为灰度图

java - 我如何从 Java 中的内部 Thread Runnable 方法获取返回值?

如何使用isFinish()将Status分配给CallMe()以获得返回值true?publicstaticbooleanisFinish(){booleanStatus=false;newThread(newRunnable(){publicvoidrun(){/*Thisshellreturntrueorfalse*HowdoyoukeepitinStatus*/CallMe();}}).start();/*HowcanigetthetrueorfalseexactlyfromCallMe?here*/returnStatus;}publicstaticbooleanCallMe

java - 好的模式? <X extends Exception> ... method() 抛出 X

一些背景,然后是一些问题。我最近才发现接口(interface)(或类)在其方法可能抛出的(已检查)异常类型方面可能是通用的。例如:interfaceGenericRunnable{voidrun()throwsX;}关键是如果你稍后实例化它,比如说IOException并调用run方法,编译器知道您需要捕获IOException或将其标记为已抛出。更好的是,如果X是一个RuntimeException,您根本不需要处理它。这是一个使用上述接口(interface)的人为示例,但它基本上是一个回调,应该很常见。publicvoidrunTwice(GenericRunnablerunn

java - 在 Exception 上转储变量状态

我想知道是否有一种方法可以在出现异常时转储所有局部变量的状态,以便更好地了解导致异常的环境状态。下面的变量idsToDump在运行时是未知的,我想找出集合中的值导致NPE的状态。例子:publicstaticvoidmain(String[]args){HashMapemployees=newHashMap();employees.put(1,"James");Integer[]idsToDump=newInteger[]{1,2,3};for(IntegeremployeeId:idsToDump){Stringname=employees.get(employeeId).toLow

java - 在设置了*中断状态*的情况下调用 Thread.sleep()?

Java文档在这一点上并不清楚。如果在调用Thread.sleep()之前调用Thread中断会发生什么情况?://interruptreachesThreadheretry{Thread.sleep(3000);}catch(InterruptedExceptione){return;}请问InterruptedException被扔?请指出相关文档。 最佳答案 是的,它会抛出异常。根据Thread.sleep的javadoc,方法:Throws:InterruptedException-ifanythreadhasinterru

OTA编译报Exception in thread “main“ java.lang.UnsupportedClassVersionError: com/android/signapk/SignApk

一、问题引入1.1背景    预置条件:已编译出2个版本的target包;    问题引入:项目需要本地验证当前项目是否可以编译出OTA差分包和全量包,并通过差分包和全量包成功完成测试机系统版本升级(这里重点讨论编译差分包过程中遇到的问题)1.2编译命令编译OTA的命令:./build/tools/releasetools/ota_from_target_files-pout/host/linux-x86-kdevice/qcom/common/security/releasekey-sdevice/qcom/common/releasetools.py -v--block-iota/qssi