Разница между «java» и «libjvm.so» (Linux) или «jvm.dll» (Windows)? - PullRequest
6 голосов
/ 26 мая 2011

В чем различия при запуске приложения с помощью простой команды Java, против прямого вызова JVM через libjvm.so в Linux или jvm.dll в Windows?

Недавно я увидел на форуме, что запуск eclipse с использованием файла dll или .so даст лучшую производительность. Я хотел бы узнать, как это происходит.

Спасибо.

Ответы [ 2 ]

5 голосов
/ 27 мая 2011

Обычно люди строят против jvm.dll, если они хотят обернуть свои собственные функции вокруг ядра Java, где иногда трудно делать вещи, которые выглядят «родными» из Java.Хорошим примером действительно является Eclipse, где они хотят открыть заставку и выполнить некоторые другие действия перед запуском.Для других продуктов Java - лишь малая часть их рабочей нагрузки (например, большое приложение C ++, которое в какой-то момент должно быть подключено к Java).

С точки зрения производительности это не имеет значения.Это все о том, как вы хотите, чтобы «подгонка и отделка» для таких вещей, как Eclipse.

3 голосов
/ 26 мая 2011

ссылка обсуждает запуск Eclipse; скорее всего, это быстрее, потому что, используя аргумент -vm для указания JRE, исполняемый файл Eclipse не должен искать в системе подходящую JRE для запуска (что может повлечь за собой диск I / O и, возможно, включать в себя определение версии JRE). Вы не ускоряете Java, вы ускоряете собственный пусковой механизм .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...