如何确定Java应用程序的最低JRE版本和系统要求

时间:2011-12-03 14:12:12

标签: eclipse java requirements system-requirements

我使用Eclipse IDE编写了一个Java应用程序,现在我需要知道运行应用程序所需的最小JRE版本!我知道某些方法只能在以后的JRE中使用,但我想知道找出我的应用程序最高要求的最简单方法是什么,所以任何建议都会受到赞赏......

此外,虽然我是关于要求的主题,但我会感谢任何建议或方法来确定我的软件的最低系统要求 - 即最小RAM量......

提前致谢

1 个答案:

答案 0 :(得分:7)

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

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

参考:OutOfMemoryError

对于其他要求,例如CPU req。,事情变得有点模糊。有很多CPU,并且给定系统产生的吞吐量不仅可以根据CPU速度,而且还可以根据CPU速度,系统中安装的RAM数量,网络接口的速度而变化(如果你正在编写网络应用程序)和其他东西。对于这样的要求,你只需要在各种系统上进行测试,然后在某处绘制一条线,然后说:“如果你的硬件至少和X,Y一样强大,你可以期待可接受的性能。 ,Z“。

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

您可以对程序崩溃和错误执行相同的操作 - 将堆栈跟踪,系统信息和其他相关数据转储到发送回给您的日志文件中 - 当然,仅当您的用户使用时已经说好了将数据发回给你。