Как DCEVM исправляет JVM, чтобы ее можно было запускать как в обычном режиме, так и в режиме XXaltjvm
? Что он делает с обычным libjvm.so/jvm.dll/libjvm.dylib
?
Как DCEVM исправляет JVM?
Ответы (1)
DCEVM не исправляет исходную JVM.
Он устанавливает другую версию libjvm.so
под $JDK_HOME/lib/dcevm
.
-XXaltjvm
поддерживается обычной программой запуска Java из коробки. Если указано, программа запуска ищет libjvm.so
в альтернативном каталоге:
- если значение
-XXaltjvm
начинается с/
, оно рассматривается как абсолютный путь альтернативной JVM; - в противном случае каталог относится к домашнему JDK:
$JDK_HOME/lib/<altjvm>
person
apangin
schedule
08.02.2021
Меня тоже интересовал этот вопрос. Из любопытства, не знаете ли вы, можно ли исправить существующую JVM, если она поставляется с символами отладки (так что теоретически мы можем заменить функции C/C++ в исполняемом файле, потому что мы знаем, где они расположены, и мы знаем версию JVM)? Насколько сложно было бы это сделать? Некоторые функции не сильно меняются от одной версии Java к другой....
- person Csa77; 08.02.2021
@ Csa77 Технически это возможно, хотя я не думаю, что это хорошая идея.
- person apangin; 08.02.2021