草庐IT

try-except-block

全部标签

Java:Try/Catch 语句:捕获到异常时,是否重复 try 语句?

这个问题在这里已经有了答案:Howdoyouimplementare-try-catch?(29个答案)关闭4年前。有什么办法吗?//Examplefunctiontakinginfirstandlastnameandreturningthelastname.publicvoidlastNameGenerator()throwsException{try{StringfullName=JOptionPane.showInputDialog("Enteryourfullname");StringlastName=fullName.split("\\s+")[1];catch(IOExce

Java try-finally 竞争条件?

很多Java资源使用示例如下所示:Resourcer=openResource();try{//useresource}finally{r.close();}r的声明必须在try子句之外才能在finally子句中可见,但这也使得看起来可能存在竞争条件:如果在openResource()调用和进入try子句之间出现线程中断怎么办?这是否意味着资源不会在那种情况下实际上被关闭?或者Java是否保证try-finally会“完全”覆盖r,尽管语法看起来不会?或者我必须写:Resourcer=null;try{r=openResource();//useresource}finally{if(

java - 什么时候像这样在 Java 中使用大括号 block ?

请看上图(来自WroxBeginningSpringbook)我有这个问题,什么是{}?是构造函数吗?是功能block吗?是“accountsMap”的block吗?这是什么?请用java解释这个特性?此功能的名称是什么? 最佳答案 这是一个实例初始化block,每次创建类的实例时都会执行它,无论使用哪个构造函数。它在执行的构造函数的代码之前执行。参见JLS8.6了解更多详情。 关于java-什么时候像这样在Java中使用大括号block?,我们在StackOverflow上找到一个类似

java - 非静态初始化 block ——我有更多的控制权吗?

我仍在Java的学习曲线上。为了更多地了解初始化block,我创建了一个小测试类:publicclassScript{{Gadgets.log("anonymous1");}publicScript(){Gadgets.log("constructor");}{Gadgets.log("anonymous2");}}当我创建一个实例时,我得到这个日志:Script:anonymous1Script:anonymous2Script:constructor这告诉我,两个初始化程序block都在构造函数之前运行,按照它们在源代码中出现的顺序(与静态初始化程序相同)。我想知道的是:我对这种行

java - 并行化 : What causes Java threads to block other than synchronization & I/O?

简短版本在标题中。长版:我正在研究一个使用Java进行科学优化的程序。程序的工作负载可以分为并行和串行阶段——并行阶段意味着正在执行高度并行化的工作。为了加速程序(它运行数小时/数天),我创建了多个线程,这些线程的数量等于我正在使用的机器上的CPU核心数量——通常是4或8个——并在它们之间分配工作。然后我启动这些线程并加入()它们,然后再进入串行阶段。到目前为止一切顺利。困扰我的是并行阶段的CPU利用率和加速比“理论最大值”还差得很远——例如如果我有4个内核,我希望看到350-400%的“利用率”(如top所报告),但它在180到310之间反弹。仅使用一个线程,我获得100%的CPU利

java - 无法在 Eclipse 中运行 "Hello World"Drools 示例 : runtime exception org. drools.RuntimeDroolsException: 无法加载方言

我刚刚在Eclipse(版本3.5.2)中安装了Drools插件,我正在尝试运行该插件附带的“HelloWorld”示例。当我运行代码时,出现运行时错误,堆栈跟踪如下:org.drools.RuntimeDroolsException:Unabletoloaddialect'org.drools.rule.builder.dialect.java.JavaDialectConfiguration:java:org.drools.rule.builder.dialect.java.JavaDialectConfiguration'atorg.drools.compiler.Package

java - 在 try 或 catch block 上调用 return 语句或 System.exit

我在面试中被问到以下问题:WhatwillhappenifonecallsareturnstatementorSystem.exitontryorcatchblock?Willfinallyblockexecute?finallyblock是否总是被执行?编辑:在java中尝试以上操作后:finally如果我将return语句放在tryblock或catchblock中,block就会执行,但是如果我调用System.exit形式的try或catch,finallyblock不会运行。虽然我不明白背后的原因。 最佳答案 Whatwi

java - 堆内存使用中的 PS Old Gen 内存 : GC settings for Java Out Of Memory Exception

以下是我的JVM设置:JAVA_OPTS=-server-Xms2G-Xmx2G-XX:MaxPermSize=512M-Dsun.rmi.dgc.client.gcInterval=1200000-Dsun.rmi.dgc.server.gcInterval=1200000-XX:+UseParallelOldGC-XX:ParallelGCThreads=2-XX:+UseCompressedOops-Djava.net.preferIPv4Stack=true-Djboss.modules.system.pkgs=org.jbos88,server=y,suspend=n问题:总

java - 哪个先加载?静态 block 还是 spring bean?

我正在使用springAutowiring一个对象,并且正在使用相同的Autowiring对象调用一个方法。它正在抛出NullPointerException。问题是我在静态block中调用方法。下面是我的代码-@AutowiredstaticMyPropertyManagerClassmyPropertyManagerClass;privatestaticURLSERVICE_URL=null;static{try{SERVICE_URL=myPropertyManagerClass.getServiceURL();}catch(Exceptione){log.error("Exce

java - Java try/catch block 中的编译类问题

我在JAVA代码中有try和catchblockimportjava.io.FileOutputStream;importjava.util.zip.ZipOutputStream;publicclassTryTest{publicstaticvoidmain(String[]args){StringzipPath="D:/test";try(ZipOutputStreamzipOut=newZipOutputStream(newFileOutputStream(zipPath))){StringHello="Hello";System.out.println("===========