Я хотел бы знать, можно ли получить аргументы виртуальной машины с помощью JNI?
Использование Invocation API позволяет указать аргументы виртуальной машины, если вы создаете собственную JVM.
Что я хотел бы сделать, так это запросить эти аргументы в JNI из уже работающей JVM, которая была запущена с помощью обычного средства запуска Java. Я считаю, что это должно быть возможно, потому что JMX может это сделать.
Я искал довольно обширно для этого и пока не нашел решения.
Заранее спасибо КНД
PS. Я знаю, что можно запросить их с помощью RuntimeMXBean.getInputArguments(), но мне нужно сделать это изначально в JNI.
1 ответ
RuntimeMXBean.getInputArguments() вызывает VMMangementImpl.getVmArguments, который возвращает неизменяемые коллекции, что затрудняет вмешательство.
Он, в свою очередь, вызывает собственный метод getVmArguments0(), и исходный код этого метода доступен в OpenJDK. Возможно, вы сможете вызвать все, что вызывает этот метод.
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.