Звучит странный вопрос, но есть причина.Как использовать java в cmd для получения стабильного результата?
Я работаю над тем, чтобы использовать код VC++, чтобы узнать максимальную память, которую может использовать JVM. Я хочу использовать java cmd для запуска JVM просто.
Мои мысли были:
Запуск java -Xmx3999G -version
как команды и выход, если виртуальная машина запущена успешно, там будет что-то вроде
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
В противном случае это будет что-то вроде
Error occurred during initialization of VM Unable to allocate
131039232KB bitmaps for parallel garbage collection for the r equested
4193255424KB heap. Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Теперь ключ заключается в том, как узнать, запущена ли JVM или нет? Я могу найти некоторые ключевые слова для вывода, такие как java version
, чтобы узнать, что он запущен. Но выход будет неустойчивым, если обновление java или что-то еще.
Устойчивый способ, которым я могу придумать, - это запустить Java-код, который имеет неизменный вывод (просто напечатать простую строку в основной функции может это сделать). Но мне нужно, чтобы я упаковал файл jar в файл rc
моего проекта и распаковывал его в папку temp и запускал его в cmd. Я думаю, что это немного сложно.
Итак, я прошу о помощи здесь, может ли любая команда java дать мне стабильный вывод, если JVM запущен?
Как узнать, что результат от 'java -help' не другие? Просто найдите, выводится ли 'java [-options] класс [args ...]'? – zzy
, например. проанализируйте вывод строки за строкой и найдите подстроки, такие как '-cp' и/или' -version'etc. –
Большое спасибо, я думаю, что мое требование было бы необоснованным, но мой босс не может мириться с 1% -ой ошибкой. – zzy