问题标签 [java-5]

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 投票
3 回答
3370 浏览

java - 自 Java 5 以来最好的单例模式

从 Java 5 开始,据说创建单例的最佳方法是使用单元素枚举类型。

例子:

根据 Joshua Bloch 的说法,单元素枚举类型单例是;

  • 更简洁
  • 免费提供序列化机制
  • 并提供了针对多重实例化的铁证。

我可以看到它是如何更简洁的,以及它是如何提供针对多重实例化的铁定的, 但它是如何免费提供序列化机制的呢?

这是单例通过枚举获得的东西吗?

0 投票
1 回答
529 浏览

jsp - IBM Webphere 应用服务器 6.1 中的 for:each 循环

我开发了一个 Web 应用程序并使用 Netbeans 6.9 创建了 war 文件。我在 jsp 和 java 文件中都广泛使用了 Java 5 的特性。在查看包含 for:each 循环的 jsp 页面时部署后,我收到错误消息说,

我读过 WAS6.1 支持 Java5 特性。还检查了java/bin中的jdk版本,是IBM jdk 1.5。

我也试过这个页面中给出的说明。我怀疑在创建war文件以使部署与 Java 5 兼容时是否需要进行任何设置。或者在 IBM WAS 控制台中是否需要进行任何服务器/应用程序级别的设置?

0 投票
3 回答
581 浏览

java - Unix shell:将具有目录名称的文件转换为“:”分隔的类路径

我使用 Java5,我不想在 Classpath 中指向每个 .jar 文件,所以我尝试编写小的 shell 脚本:

但这不起作用 - $CP 变量为空。

因此,$CP 应该是单个字符串,路径由 ':' 分隔

有谁知道这里出了什么问题以及如何正确地将所有文件的行连接到一个字符串?

0 投票
1 回答
1889 浏览

aix - Java 1.5 在 AIX 5 上崩溃

我对AIX的Java 1.5.0有疑问。仅当我在 AIX ( myuser ) 上使用特定用户登录时才会发生错误。当我使用其他用户登录时,java 工作正常。

即使我只执行“java -version”或只是“java”(当然,没有引用),也会出现错误。我尝试使用完整路径执行它:/usr/java5/jre/bin/java但仍然失败。

系统上也安装了java 1.4版本。因此用户的$PATH变量包含/usr/java14/jre/bin,但我删除了该值,我什至卸载了该版本的 java (1.4),以便系统上只存在 java 5,但错误仍在继续。

如果我执行“java -fullversion”它不会崩溃。

这是错误的一部分(完整输出很长):

0 投票
4 回答
5728 浏览

java - 为什么 java.io.Serializable 在 Java 5 中没有被弃用?

在 Java 5 之前,没有注释。因此,您无法将元数据添加到类中。

要将类标记为可序列化,您必须实现Serializable接口(就是一个标记)并transient在需要时使用更多关键字将字段标记为不可序列化,例如:

现在您理论上可以使用注释(这是它们的完美用途)并具有:

但是接口和关键字并没有被弃用,Java 5 中也没有添加注释来替换它们。

这个决定保留接口和关键字的考虑是什么?

当然存在与 Java 5 之前代码的兼容性问题,但在某些时候会结束(例如,与泛型的新特性有关,JLS 指定Java 编程语言的未来版本可能不允许使用原始类型)。那么为什么不也为序列化注解做好准备呢?

有什么想法吗?(虽然我更喜欢具体的参考资料:D,但找不到)

0 投票
1 回答
690 浏览

servlets - 需要 Java 1.6 的 tomcat eclipse mssql 驱动程序

我开始在 Java 1.6 中为 tomcat 7 编写我的 servlet,但后来我需要为 tomcat 6 回滚到 Java 1.5。我正在使用 eclipse。但是由于某种原因,当我尝试运行我的 servlet 时,它给了我以下错误:

严重:此驱动程序不支持 Java 运行时环境 (JRE) 版本 1.6。请改用 JDBC 4 驱动程序 (sqljdbc4.jar)。2011 年 6 月 20 日下午 12:33:40 org.apache.catalina.core.StandardWrapperValve 调用严重:Servlet.service() 用于 servlet 身份验证抛出异常 java.lang.UnsupportedOperationException:Java 运行时环境 (JRE) 版本 1.6 不受支持这个司机。请改用 JDBC 4 驱动程序 (sqljdbc4.jar)。

现在最初我的 WEB-INF/lib 目录中有 sqljdbc4.jar,但我将它换成了 sqljdbc.jar,以便它与 1.5 兼容。那是我开始收到错误的时候。在属性面板中四处寻找,我看到 JVM 1.6 仍在构建路径库中,所以我删除了那些。但是现在它找不到HTTPServlet!

我添加了一个 servlet.jar 文件,但它只是给了我“此驱动程序不支持 1.6 版”的消息。奇怪的是,我还必须为此 servlet 使用 oracle jdbc 驱动程序,当我将项目和驱动程序 jar 降级到 1.5 兼容版本时,它没有给我这些错误。

如何让 Eclipse 项目不认为它是 1.6?

0 投票
1 回答
69 浏览

file - 在合理的时间范围内检测到一定程度内存泄漏的工具

我正在寻找工具来检测内存泄漏、使用 Netbeans 编写并部署在 Tomcat 6 上的基于 Java 的应用程序中的文件打开问题,而无需花费数小时,这些工具可以在合理的时间范围内在一定程度上检测这些异常行为。如果有人提供相同的建议,将不胜感激。

0 投票
4 回答
28347 浏览

java - Java 快速检查网络连接

我的问题相当简单。如果网络连接丢失,我的程序需要立即通知。我使用的是 Java 5,所以我无法使用NetworkInterface非常方便的功能。

目前我有两种不同的方法来检查网络连接:
(try..catches 已删除)

方法一:

方法二:

但是,这两种方法都会阻塞,直到达到超时,然后才返回 false。我需要一个可以立即返回但与 Java 5 兼容的方法。

谢谢!

编辑:我忘了提到我的程序依赖于 IP 地址,而不是 DNS 名称。因此,在解析主机时检查错误已出...

第二次编辑:

使用NetworkInterface找出最终解决方案:

0 投票
2 回答
503 浏览

java - Swing 在减少 Windows 时间后忽略第一次单击

我有一个处理日期和时间的 Swing 应用程序,因此进行了大量测试以更改系统的日期和时间设置。在测试过程中,我们注意到在减少时钟后,应用程序会忽略第一次点击。

它是 Swing/Java/Windows 的错误吗?有解决方法吗?

有趣的是,此问题仅在减少日期/时间设置时发生。如果我增加它,应用程序会正常运行。

情况:

  • Swing 应用程序正在运行。
  • 减少 Windows 日期和时间设置(例如,将时间从 15:00 更改为 14:00)。
  • 请注意,Swing 应用程序中的第一次单击不会触发任何操作。

代码示例(您可以使用它来证明情况):

0 投票
4 回答
10789 浏览

java - 在 Java 1.7 上为 Java 1.5 编译是否仍然有效?

我最近在我的一个项目中迁移到 Java 7。我声称它可以在 Java 1.5 上运行只是因为在 Java 6 或 7 中我不依赖任何东西。但是今天编译时我注意到了这一点:

谷歌几乎没有找到关于这个警告的信息。这是否意味着您无法从 Java 1.7 编译到 Java 1.5?