问题标签 [java]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
12 回答
41840 浏览

java - 您在 Java 项目中使用哪些代码分析工具?

您在 Java 项目中使用哪些代码分析工具?

我对各种感兴趣

  • 静态代码分析工具(FindBugs、PMD 和任何其他工具)
  • 代码覆盖工具(Cobertura、Emma 等)
  • 任何其他基于仪器的工具
  • 还有什么,如果我错过了什么

如果适用,还要说明您使用的构建工具以及这些工具与您的 IDE 和构建工具的集成程度。

如果工具仅以特定方式可用(作为 IDE 插件,或者说,构建工具插件),那么该信息也值得注意。

0 投票
9 回答
58226 浏览

java - 如何使用 Java 读取正在写入的文件?

我有一个将信息写入文件的应用程序。此信息在执行后用于确定应用程序的通过/失败/正确性。我希望能够在文件被写入时读取它,以便我可以实时进行这些通过/失败/正确性检查。

我认为可以做到这一点,但是在使用 Java 时涉及到什么问题?如果读取赶上写入,它会等待更多写入直到文件关闭,还是读取会在此时抛出异常?如果是后者,那我该怎么办?

我的直觉目前正在推动我走向 BufferedStreams。这是要走的路吗?

0 投票
8 回答
6900 浏览

java - 为什么 Java 自动装箱不扩展到自动装箱类型的方法的方法调用?

我想将原语转换为字符串,我尝试过:

这失败并出现错误:

现在,我知道原语不是引用类型(即不是对象),因此不能有方法。然而,Java 5 引入了自动装箱和拆箱(就像 C# 一样……我在 C# 中从来不喜欢它,但这无关紧要)。因此,通过自动装箱,我希望上面将 myInt 转换为 Integer ,然后对其调用 toString() 。

此外,我相信 C# 允许这样的调用,除非我记错了。这只是 Java 自动装箱/拆箱规范的一个不幸缺点,还是有充分的理由?

0 投票
3 回答
2703 浏览

java - 我如何 Java webstart 多个依赖的本机库?

示例:我有两个共享对象(同样适用于 .dll)。第一个共享对象来自第三方库,我们称之为 libA.so。我已经用 JNI 封装了其中的一些,并创建了我自己的库 libB.so。现在 libB 依赖于 libA。

当 webstart 时,这两个库都位于一些 webstart 工作区中。我的 java 代码尝试加载 libB。此时系统加载器将尝试加载不在系统库路径中的 libA(java.library.path 对此无济于事)。最终结果是 libB 有一个不满意的链接,无法使用。

我曾尝试在 libB 之前加载 libA,但这仍然不起作用。似乎操作系统想为我做那个加载。除了静态编译之外,我还有什么方法可以完成这项工作?

0 投票
3 回答
4530 浏览

java - 这真的是扩大与自动装箱吗?

我在另一个问题的回答中看到了这一点,参考了 Java 规范的缺点:

还有更多的缺点,这是一个微妙的话题。看看这个

这里将打印“long”(我自己没有检查过),因为编译器选择加宽而不是自动装箱。使用自动装箱时要小心,或者根本不要使用它!

我们确定这实际上是扩大而不是自动装箱的一个例子,还是完全是别的东西?

在我最初的扫描中,我同意这样一种说法,即输出将是“长”的,i因为它被声明为一个原语而不是一个对象。但是,如果你改变了

输出将打印“整数”

这里到底发生了什么?我对java的编译器/字节码解释器一无所知......

0 投票
5 回答
139160 浏览

java - 使用 Java Servlet 访问 post 变量

什么是 PHP 的 Java 等价物$_POST?在网上搜索了一个小时后,我仍然没有更近的地方。

0 投票
7 回答
11115 浏览

java - 为什么我不能在我的 super() 调用周围使用 try 块?

因此,在 Java 中,构造函数的第一行必须是对 super 的调用……无论是隐式调用 super(),还是显式调用另一个构造函数。我想知道的是,为什么我不能在它周围放一个 try 块?

我的具体情况是我有一个模拟类进行测试。没有默认构造函数,但我想要一个使测试更易于阅读。我还想将从构造函数抛出的异常包装到 RuntimeException 中。

所以,我想要做的实际上是这样的:

但是 Java 抱怨说 super 不是第一个声明。

我的解决方法:

这是最好的解决方法吗?为什么Java不让我做前者?


对于“为什么”,我最好的猜测是 Java 不希望我的构造对象处于可能不一致的状态……但是,在进行模拟时,我不在乎。看来我应该能够做到以上...或者至少我知道以上对于我的情况是安全的...或者似乎无论如何都应该这样做。

我正在覆盖我在测试类中使用的任何方法,因此我没有使用未初始化变量的风险。

0 投票
8 回答
4161 浏览

java - 使用 J# 有真正的好处吗?

我刚刚看到一条建议 J# 的评论,这让我想知道...... J# 是否比 Java 真正有益地使用?所以,我的感觉是,你甚至会考虑使用 J# 的唯一原因是管理层已经下令公司应该加入 Java 潮流……和 .NET 潮流。如果您使用 J#,您实际上将失去选择 Java 的最大好处……丰富的跨平台支持。当然有 Mono,但它没有得到丰富的支持或功能齐全,对吧?我记得听说表格不完全(也许完全)支持。

我不想在这里抨击 .NET,我只是说,如果你打算走微软路线,为什么不直接使用 C#?如果你打算走 Java 路线,为什么 J# 会进入画面?

我希望在这里找到一些真实世界的案例,所以如果您在真实项目中实际使用过 J#,请特别回复,以及为什么。

0 投票
1 回答
1125 浏览

java - 使用 JNLP 为 Java RCP 自动构建以进行部署

我发现了很多关于自动化 Eclipse PDE 过程的资料。我觉得这些消息来源并不能很好地解释正在发生的事情。

我可以通过功能导出在半手动过程中创建可部署包。

自动化过程需要了解 org.eclipse.pde.build 脚本的工作方式。我已经创建了一个构建,但不是针对 JNLP。

问题:

  1. 有没有人通过 JNLP 部署过 RCP?
  2. 你能够自动化构建吗?
0 投票
2 回答
4399 浏览

java - win64上的Eclipse

有人在 Windows XP 或 Vista 64 位上成功使用 Eclipse 的最新 64 位 Ganymede 版本吗?

目前我在 32 位 JDK 上运行普通的 Eclipse 3.4 发行版,并使用 64 位 JDK 启动和编译我的应用程序。我们之前的经验是 64 位 Eclipse 发行版对我们来说是不稳定的,所以我很好奇是否有人成功使用它。

我们使用的是 JDK 1.6.0_05。