草庐IT

try-except-block

全部标签

java - 同步块(synchronized block)和监视器对象

你好有人可以解释一下如果在下面的代码中同步代码会限制对线程的访问。如果是,它与我们使用“this”而不是“msg”作为监视器对象有何不同。publicvoiddisplay(Stringmsg){synchronized(msg){for(inti=1;i 最佳答案 仅当两个线程使用完全相同的msg对象调用此方法时,您编写的方法才会阻塞。如果您在this上进行同步,那么在给定时间只有一个线程能够调用该方法。 关于java-同步块(synchronizedblock)和监视器对象,我们在S

java - 避免使用 try-catch 语句的充分理由

示例#1:try{fileChooser.setSelectedFile(newFile(filename));}catch(NullPointerExceptione){/*donothing*/}示例#2:if(filename!=null)fileChooser.setSelectedFile(newFile(filename));#1是出于性能或稳定性(或任何其他原因)本身就不好,还是只是有点不同?这不是一个很好的例子,因为#1与#2相比没有优势,但在不同的情况下可能会有优势(例如提高可读性、减少代码行等)。编辑:共识似乎是#1是一个禁忌。最常见的原因:开销另外,@RaphLe

java - java中的最终变量和同步块(synchronized block)

什么是Java中的最终变量?例如:如果我在函数中写finalinttemp;final关键字是什么意思?另外,我什么时候想使用final变量(既作为类变量又作为函数变量)?为什么同步块(synchronizedblock)中的变量必须声明为final? 最佳答案 Final变量和同步代码块确实有一些共同点...如果您声明非final变量a然后编写synchronized(a){System.out.println('xxx');您将收到警告“在非最终字段上同步”——至少在NetBeans中是这样。为什么不应该在非final字段上进行

java - 在 try catch 中访问变量

我一直在returnmenuFont行收到编译错误,它说没有变量menuFont。有人可以告诉我如何解决这个问题。importjava.awt.Font;importjava.awt.FontFormatException;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;publicclassloadFiles{FontgetFont(){try{FontmenuFont=Font.createFont(Font.TRUETYPE_FONT,newFi

java - org.codehaus.plexus.component.repository.exception.ComponentLookupException : java. util.NoSuchElementException

我尝试测试我的Maven插件并收到奇怪的异常。发现类似问题here,但答案没有帮助。pom.xmlorg.apache.mavenmaven-plugin-api3.3.9org.apache.mavenmaven-project3.0-alpha-2com.jcabijcabi-aether0.10.1org.apache.maven.plugin-toolsmaven-plugin-annotations3.4providedorg.apache.maven.plugin-testingmaven-plugin-testing-harness3.3.0testorg.apache.

java - 使用 Java ODBC 创建连接会导致 java.sql.SQLException : Invalid Cursor Type exception

我正在尝试创建一个访问ODBC数据源的Java程序。使用以下代码...Connectionconn;try{Driverd=(Driver)Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();DriverManager.registerDriver(d);StringURL="jdbc:odbc:ARSystemODBCDataSource";conn=DriverManager.getConnection(URL);}catch(SQLException|InstantiationException|IllegalA

java - try block 内语句的 Netbeans 声明性提示语法

我想检查并转换一个特定的语句为try-with-ressources形式。但我感觉declarativehintsformat的语法为此我避而不谈。我试过:try{$before$;someMethod($arg1,$arg2,$arg3);$after$;}catch$catches$=>try(Resourceres=acquire($arg1,$arg2,$arg3)){$before$;res.use();$after$;}catch$catches$但应用到我的代码中时,模式永远不会匹配。这是我希望匹配的一些示例代码部分:publicbooleanstep(Stringinp

java - 无法连接到 SMTP 主机 : smtp. gmail.com,端口 : 587; nested exception is: java.net.ConnectException:连接超时:连接

这是应用程序的代码。我一直在尝试使用eclipseIDE运行它。我还添加了所有必需的java邮件jar文件,即dsn.jar,imap.jar,mailapi.jar,pop3.jar,smtp.jar,mail.jar。但它给出了以下错误CouldnotconnecttoSMTPhost:smtp.gmail.com,port:587。没有防火墙阻止访问,因为在pingsmtp.gmail.com时会收到回复。我什至尝试过这种方式:首先在您设置/使用客户端的设备上的浏览器中登录Gmail帐户转到此处并为“不太安全”的应用程序启用访问权限:https://www.google.com/

java.sql.SQLException : Io exception: Socket read timed out vs Closed Connection 异常

我正在尝试研究有关连接到Oracle数据库的以下两个错误的问题:关闭连接java.sql.SQLException:Io异常:Socket读取超时我的理解:关闭连接:发生是因为存在某种网络中断或数据库由于某种“不活动”而关闭了sessionjava.sql.SQLException:Ioexception:Socketreadtimedout:这是连接成功建立但由于某种原因套接字/数据为空并最终超时的情况因为没有可用数据。是否可以在本地OracleDB环境中复制上述错误?步骤是什么?非常感谢您花时间回复。谢谢。 最佳答案 你对关闭连

java - 为什么 javac 不优化空的 try-finally block ?

我写了一个类classtest1{voidfoo(){}}还有一个有很多try和finally语句什么都不做的类:classtest2{voidfoo(){try{}finally{}try{}finally{}try{}finally{}try{}finally{}try{}finally{}}}使用javac(sun-jdk-1.6.0.37,linux-3.8.13-amd64)编译它们并与od比较文件。test1.class000000006614307154102016306256407216302006100517307301200000200645570201440675