Запуск Java из Eclipse или командной строки - PullRequest
5 голосов
/ 24 января 2012

Я хочу знать, есть ли какая-либо разница между запуском программы через Eclipse IDE или запуском ее из командной строки?Использование памяти и производительность.
Я использую Java.

Ответы [ 6 ]

3 голосов
/ 24 января 2012

По сути, Eclipse запускает ту же JVM, что и java.exe, поэтому не должно быть никакого снижения производительности при использовании тех же параметров JVM (конечно, если вы не запускаете его в режиме отладки).

Однако, поскольку Eclipse управляет многими вещами перед запуском, если вам нужно запустить несколько JVM, может быть лучше иметь сценарий пакетного файла / оболочки, который выполняет JVM, как в этом случае накладные расходы на запуск JVM от Eclipse может быть заметно больше (однако не должно быть никакой разницы после запуска).

2 голосов
/ 24 января 2012

Просто запуск скомпилированной программы через Eclipse должен быть таким же, как запуск через командную строку, если вы убедитесь, что параметры JVM совпадают. Eclipse по умолчанию вызывает JVM, которая использовалась для запуска самого Eclipse, хотя JVM и любые параметры командной строки можно настроить с помощью диалогового окна Run Configurations .

Одно, возможно, существенное отличие заключается в том, что использование командной строки означает, что вы можете запускать свое приложение без влияния наличия Eclipse, который может быть довольно интенсивно загружающим ЦП и в некоторой степени загружать память, работая одновременно. , Хотя запуск через Eclipse не влияет непосредственно на выполнение программы, он все равно может иметь эффект только благодаря присутствию на том же компьютере.

Тем не менее, - это разница, если под "прогон через командную строку" вы также подразумеваете процесс компиляции. Eclipse использует ECJ, свой собственный инкрементный компилятор Java, а не реализацию javac, поставляемую в комплекте с JDK. У ECJ есть некоторые дополнительные расширения, но он не всегда полностью совместим с текущим JDK - я иногда обнаруживал различия в создаваемом байт-коде, в том числе несколько ошибок, которых не было в компиляторе JDK.

1 голос
/ 24 января 2012

моя лучшая мысль - использовать VisualVM для проверки различий в meomry и cpu, но я был бы удивлен, увидев огромную разницу. Другой момент - настройка пути к классам, здесь могут / могут возникнуть различия.

привет

1 голос
/ 24 января 2012

Я бы так не думал.

Но очевидно, что с открытым Eclipse это займет память само по себе.

Конфигурации запуска могут быть сохранены и ими легче управлять в Eclipse.

1 голос
/ 24 января 2012

Eclipse сам по себе является Java-приложением, которое идет с определенными издержками, в противном случае нет. Вообще говоря, командная строка превзойдет затмение.

0 голосов
/ 24 января 2012

Диалоговое окно «Запустить конфигурации» в Eclipse позволяет вам установить все параметры, которые будут установлены в командной строке, например размер кучи.

...