Подтвердить что ты не робот

Разница между java.exe, javaw.exe и jvm.dll

В чем разница в запуске приложения (например, Eclipse) с java.exe, javaw.exe и jvm.dll? Кроме того, не имеет значения с точки зрения производительности?

4b9b3361

Ответ 1

  • jvm.dll - фактическая реализация Windows JVM (или лучше, главная точка входа). Приложения C или С++ могут использовать эту DLL для запуска встроенной среды выполнения Java, и это позволит приложению напрямую взаимодействовать с JVM, например. если они хотят использовать Java для своего графического интерфейса.

  • java.exe - это оболочка вокруг DLL, так что люди могут фактически запускать классы Java без необходимости использования пользовательского приложения запуска. Это приложение Win32 Console, поэтому Windows откроет новое окно командной строки, если exe не запускается из пакетного файла.

  • javaw.exe - это оболочка типа java.exe, но это приложение Win32 GUI. Windows не нужно открывать окно командной строки, которое именно вы хотите запустить графическое приложение, которое открывает свои собственные окна.

EDIT: они не должны иметь никакого значения в производительности, кроме накладных расходов на создание и инициализацию процесса.

Самое главное: это не имеет значения; если вы беспокоитесь об этом, вы можете захотеть сохранить Java, а не запускать его сотни раз.

Ответ 2

  • java.exe - запустите программу Java (необходимо указать классы и/или JAR), начиная с указанного класса, содержащего метод main().

  • javaw.exe - как указано выше, но не создает командную строку Windows (подходит для программ Swing, которым не нужна консоль).

  • jvm.dll - это не runnable, а библиотека. Вероятно, используется обеими программами выше.