Questions tagged «java»

Java是一种流行的高级编程语言。如果您在使用或理解语言本身时遇到问题,请使用此标签。这个标签很少单独使用,最常与[spring],[spring-boot],[jakarta-ee],[android],[javafx],[gradle]和[maven]结合使用。

5
Java同步关键字的C#版本?
c#是否具有自己的java“ synchronized”关键字版本? 即在Java中,可以将其指定为函数,对象或代码块,如下所示: public synchronized void doImportantStuff() { // dangerous code goes here. } 要么 public void doImportantStuff() { // trivial stuff synchronized(someLock) { // dangerous code goes here. } }

13
什么会导致java.lang.reflect.InvocationTargetException?
好吧,我试图理解并阅读可能导致它的原因,但是我却无法理解: 我的代码中有这个地方: try{ .. m.invoke(testObject); .. } catch(AssertionError e){ ... } catch(Exception e){ .. } 事实是,当它尝试调用某个方法时,它会抛出InvocationTargetException而不是其他预期的异常(特别是ArrayIndexOutOfBoundsException)引发 。我实际上知道调用了什么方法,所以我直接转到此方法代码,并为假定要抛出的行添加了一个try-catch块 ArrayIndexOutOfBoundsException,它确实ArrayIndexOutOfBoundsException按预期抛出了。然而,当它上升时,以某种方式InvocationTargetException在catch(Exception e) e 上面的代码中进行更改是InvocationTargetException不ArrayIndexOutOfBoundsException 符合预期的。 是什么原因导致这种行为的?我该如何检查?


4
如何在javadoc中添加对方法参数的引用?
有没有一种方法可以从方法文档主体中添加对一个或多个方法参数的引用?就像是: /** * When {@paramref a} is null, we rely on b for the discombobulation. * * @param a this is one of the parameters * @param b another param */ void foo(String a, int b) {...}
313 java  arguments  javadoc 

11
如何使用JUnit Test注释声明异常消息?
我写了一些带有@Test注释的JUnit测试。如果我的测试方法引发了一个已检查的异常,并且我想与该异常一起声明该消息,是否可以使用JUnit @Test注释来做到这一点?AFAIK,JUnit 4.7不提供此功能,但是将来的版本会提供吗?我知道在.NET中,您可以断言消息和异常类。在Java世界中寻找类似的功能。 这就是我要的: @Test (expected = RuntimeException.class, message = "Employee ID is null") public void shouldThrowRuntimeExceptionWhenEmployeeIDisNull() {}

16
JDBC的连接池选项:DBCP与C3P0
可用于Java / JDBC的最佳连接池是什么? 我正在考虑2个主要候选人(免费/开源): Apache DBCP- http://commons.apache.org/dbcp/ C3P0- http://sourceforge.net/projects/c3p0 我已经在博客和其他论坛上阅读了很多有关它们的内容,但无法做出决定。 这两个有其他相关选择吗?

14
如何遍历JSONObject?
我使用一个称为的JSON库JSONObject(如果需要,我不介意进行切换)。 我知道如何进行迭代JSONArrays,但是当我从Facebook解析JSON数据时,我没有得到一个数组,只有一个JSONObject,但是我需要能够通过其索引访问一个项目,例如JSONObject[0]获取第一个,而我不知道该怎么做。 { "http://http://url.com/": { "id": "http://http://url.com//" }, "http://url2.co/": { "id": "http://url2.com//", "shares": 16 } , "http://url3.com/": { "id": "http://url3.com//", "shares": 16 } }
312 java  json 

13
连接到MySQL数据库时有关SSL连接的警告
在下面的两个类中,我尝试连接到MySQL数据库。但是,我总是会收到此错误: 2015年12月09日星期三22:46:52警告:不建议在没有服务器身份验证的情况下建立SSL连接。根据MySQL 5.5.45 +,5.6.26 +和5.7.6+的要求,如果未设置显式选项,则默认情况下必须建立SSL连接。为了与不使用SSL的现有应用程序兼容,将verifyServerCertificate属性设置为'false'。您需要通过设置useSSL = false显式禁用SSL,或者设置useSSL = true并提供信任库以进行服务器证书验证。 这是带有main方法的测试类: public class TestDatabase { public static void main(String[] args) { Database db = new Database(); try { db.connect(); } catch (Exception e) { e.printStackTrace(); } db.close(); } } 这是Database课程: import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Database { private …

17
Javadoc标记不完整时,Maven无法在Java 8中工作
自从我使用Maven以来,我已经能够在本地存储库中构建并安装具有不完整Javadoc标记(例如,缺少参数)的项目。 但是,由于我迁移到Java 8(1.8.0-ea-b90),因此Maven对缺少文档标签的要求绝对严格,并在尝试构建或安装Javadoc不在其中的项目时向我展示许多与Javadoc问题有关的Javadoc错误。 “完善”。我试图编译并安装在本地存储库中的某些项目是我无法控制的第三方项目。因此,在我的情况下,仅修复所有这些项目中的所有Javadocs的变通办法似乎不可行。 这是我mvn clean package install在项目中执行时看到的输出的一小部分: [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 9.026s [INFO] Finished at: Mon Apr 08 21:06:17 CEST 2013 [INFO] Final Memory: 27M/437M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.9:jar (attach-javadocs) on project jpc: MavenReportException: Error while creating archive: [ERROR] …


25
在循环之前或循环中声明变量之间的区别?
我一直想知道,一般而言,在循环之前声明一个抛弃型变量(而不是在循环内部重复)是否会产生(性能)差异?Java中的一个(毫无意义的)示例: a)循环前声明: double intermediateResult; for(int i=0; i < 1000; i++){ intermediateResult = i; System.out.println(intermediateResult); } b)循环内的声明(反复): for(int i=0; i < 1000; i++){ double intermediateResult = i; System.out.println(intermediateResult); } a或b哪个更好? 我怀疑重复变量声明(示例b)在理论上会增加开销,但编译器足够聪明,因此无关紧要。示例b的优点是更紧凑,并将变量的范围限制在使用它的位置。尽管如此,我还是倾向于根据示例a进行编码。 编辑:我对Java案例特别感兴趣。

13
从Java 8流中断还是返回forEach?
当在上使用外部迭代时,Iterable我们使用break或return通过增强的for-each循环进行以下操作: for (SomeObject obj : someObjects) { if (some_condition_met) { break; // or return obj } } 我们如何break或在Java 8 lambda表达式中return使用内部迭代,例如: someObjects.forEach(obj -> { //what to do here? })
312 java  foreach  lambda  java-8 


7
如何在Mac OSX上安装Java以允许版本切换?
我想在Mac OSX上安装OpenJDK Java,并使其与其他JDK一起工作,因为它是较新的版本。当前,我下载了tar.gz并将其放置在我的路径中,但这很难维护。 我发现唯一可以自动执行更多操作的安装是通过Homebrew cask进行的安装。看起来也只有当前版本: brew cask info java 显示: java:13,33:5b8a42f3905b406298b72d750b6919f6 https://openjdk.java.net/ 所以我可以从那里安装它,那又如何呢?我只能坚持使用新版本吗?
312 java  java-12 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.