>方法1:对于最小的JRE版本,这将是艰难的.最简单的方法是简单地要求您正在构建的相同版本,或更高版本. JRE 6.x.x或更高版本
>方法2:安装多个JDK,使它们在Eclipse中可用,只需更改您正在构建的版本,每次运行应用程序的测试套件,并确保它们都通过.允许所有测试通过的JDK的最早版本是可以运行的最低版本的JRE.简单地让你的应用程序成功编译是不够的,因为以前版本的JRE / JDK可能有错误,允许成功编译,但不允许正确的程序执行.
>方法3:始终需要最新的客户端,因为Oracle不断修补安全漏洞,最终在客户端可能需要最新版本(如果您有这样的控制).
就RAM而言,很简单.当JVM启动时,它设置一个“最大”的RAM数量(我认为默认值可能是128MB),这是一个很难限制,你的应用程序不能超过没有崩溃.配置您的应用程序随着时间的推移,调整JVM上的内存设置,并找出应用程序运行的最小RAM数量(a)具有可接受的性能,(b)不抛出OutOfMemoryError你完成了
对于其他要求,如CPU要求,事情会变得更加模糊.有很多CPU在那里,给定系统产生的吞吐量不仅可以根据CPU速度而有所不同,而是硬盘驱动器的速度,系统中安装的RAM数量,网络接口的速度(如果你正在编写一个网络应用程序)和其他的东西.对于这样的要求,您只需要对各种系统进行测试,并在某处绘制一条线,并说:“如果您的硬件至少与X,Y一样强大,那么您可以期待可接受的性能,Z“.
您可以做的另一件事是建立在基准测试或某种性能记录中,并将性能数据发回给您.许多应用程序都这样做你知道“我们可以将匿名使用数据发回母亲吗?”安装一些软件时会得到什么问题?那么这些数据中常见的是系统特定的细节,例如RAM,CPU,硬盘驱动器型号以及其他硬件细节(您确定的数据与应用程序相关)以及性能记录数据.通过采取这种方法,您获得的是许多不同系统配置的大量性能数据,而不需要在内部拥有大量不同配置的机器.
您可以为程序崩溃和错误做同样的事情 – 将堆栈跟踪,系统信息和其他相关数据转储到发送给您的日志文件中 – 但当然,只有当您的用户已经说可以发送那个数据给你了