17

我已经使用 Eclipse IDE 用 Ja​​va 编写了一个应用程序,现在我需要知道运行该应用程序所需的最低 JRE 版本!我知道某些方法仅在以后的 JRE 下可用,但我想知道找出我的应用程序的最高要求的最简单方法是什么,所以任何建议都将不胜感激......

此外,虽然我谈到了需求这一主题,但我希望能提供任何建议或方法来确定我的软件的最低系统要求 - 即最低 RAM 量......

提前致谢

4

1 回答 1

9
  • 方法 1:对于最低 JRE 版本,这将是艰难的。最简单的方法是只需要与您正在构建的相同版本或更高版本,例如 JRE 6.xx 或更高版本。
  • 方法 2:安装多个 JDK,使它们在 Eclipse 中可用,然后更改您正在构建的版本,每次运行应用程序的测试套件,并确保它们都通过。允许所有测试通过的 JDK 的最早版本是它可以运行的最低 JRE。仅仅让您的应用程序成功编译是不够的,因为以前版本的 JRE/JDK 可能存在允许成功编译但不允许正确执行程序的错误。
  • 方法 3:客户端始终需要最新版本,因为 Oracle 会不断修补安全漏洞,最终,如果您有这种控制,最好在客户端需要最新版本。

就 RAM 而言,这很容易。当 JVM 启动时,它会设置一个“最大”内存量(我相信默认值可能是 128MB),这是您的应用程序在不崩溃的情况下不能超过的硬限制。随着时间的推移分析您的应用程序,调整 JVM 上的内存设置,并找出您的应用程序运行(a)具有可接受的性能和(b)不抛出OutOfMemoryError所需的最小 RAM 量,你就完成了。

参考:如何配置 JVM 选项和内存?

对于其他要求,例如 CPU req.,事情变得有点模糊。那里有很多 CPU,给定系统产生的吞吐量不仅取决于 CPU 速度,还取决于硬盘驱动器的速度、系统中安装的 RAM 量、网络接口的速度(如果您正在编写网络应用程序)和其他内容。对于这样的要求,您只想在各种系统上对其进行测试,然后在某处划定界限,然后说:“如果您的硬件至少与 X、Y 一样强大,那么您可以获得可接受的性能, Z”。

您可以做的另一件事是构建基准测试或某种性能日志记录,然后将性能数据发送回您。很多应用程序都这样做。您知道“我们可以将匿名使用数据发送回母舰吗?” 安装某些软件时遇到的问题?嗯,这些数据中常见的是特定于系统的详细信息,例如 RAM、CPU、硬盘驱动器型号和其他硬件详细信息(您确定与您的应用程序相关的任何数据),以及性能日志记录数据。通过采用这种方法,您可以获得来自许多不同系统配置的大量性能数据,而无需在内部拥有大量不同配置的机器。

您可以对程序崩溃和错误执行相同的操作 - 将堆栈跟踪、系统信息和其他相关数据转储到发送回您的日志文件中 - 但当然,前提是您的用户表示可以发送该数据返回给你。

于 2011-12-03T14:21:38.243 回答