- Способ 1. Для минимальной версии JRE это будет непросто. Самый простой способ - просто потребовать ту же версию, для которой вы создаете, или более позднюю, например JRE 6.x.x или выше.
- Метод 2. Установите несколько JDK, сделав их доступными в Eclipse, и просто измените версию, для которой вы создаете, каждый раз запуская набор тестов вашего приложения и проверяя, что все они проходят. Самая ранняя версия JDK, которая позволяет проходить все ваши тесты, - это самая низкая JRE, с которой она может работать. Одной успешной компиляции приложения недостаточно, потому что в предыдущих версиях JRE / JDK могут быть ошибки, которые позволяют выполнить успешную компиляцию, но не допускают правильной программы. исполнение.
- Метод 3: всегда требуйте последнюю версию на стороне клиента, потому что Oracle постоянно исправляет дыры в безопасности, и, в конечном итоге, может быть лучше потребовать последние версии, если у вас есть такой контроль, на сторона клиента.
Что касается оперативной памяти, это просто. Когда JVM запускается, она устанавливает «максимальный» объем ОЗУ (я считаю, что по умолчанию может быть 128 МБ), и это жесткий предел, который ваше приложение не может превысить без сбоев. Профилируйте свое приложение с течением времени, настраивая параметры памяти на JVM, и выясните, какой минимальный объем оперативной памяти вам понадобится для того, чтобы ваше приложение работало как (а) с приемлемой производительностью, так и (б) без выдачи OutOfMemoryError, и все готово.
Ссылка: Как настроить параметры JVM и память?
Для других требований, таких как требования к ЦП, все становится немного более размытым. Существует множество процессоров, и пропускная способность, которую производит данная система, может варьироваться не только в зависимости от скорости процессора, но и от скорости жесткого диска, объема оперативной памяти, установленной в системе, скорости сетевого интерфейса ( если вы пишете сетевое приложение) и другие вещи. Для таких требований вам нужно просто протестировать его на различных системах, провести где-то черту и сказать: «Вы можете ожидать приемлемой производительности, если у вас есть оборудование, по крайней мере такое же мощное, как X, Y». , Z ".
Еще вы могли бы создать тест производительности или какой-то вид журнала производительности и получить эти данные о производительности, отправленные вам обратно. Многие приложения делают это. Вы знаете, что «можем ли мы отправить анонимные данные об использовании обратно на базовый корабль?» вопрос, который возникает при установке какого-либо программного обеспечения? Что ж, общими среди этих данных являются системные данные, такие как ОЗУ, ЦП, модель жесткого диска и другие сведения об оборудовании (любые данные, которые вы определяете, относящиеся к вашему приложению), а также данные журнала производительности. Применяя такой подход, вы получаете много данных о производительности из множества различных конфигураций системы без необходимости иметь внутри огромное количество по-разному настроенных машин.
Вы можете сделать то же самое для сбоев и ошибок программы - выгрузить трассировку стека, системную информацию и другие соответствующие данные в файл журнала, который будет отправлен вам обратно, - но, конечно, только если ваши пользователи сказали, что это хорошо, чтобы отправить эти данные вам.
person
jefflunt
schedule
03.12.2011