Как работает JVM написанная на Java?

209
17 января 2019, 14:00

Объясните, недалекому. Для запуска Java приложений требуется JVM. Есть JVM, написанная на Java. Получается, что для запуска JVM, нужна JVM? =)

Answer 1

Если вы посмотрите языки используемые в репозитории Maxine-VM, то увидите, что 1.6% кода - это код на C:

А если загляните в документацию, то сможете найти такой текст:

The Maxine VM is written almost entirely in Java, with a small part, called the substrate, written in C. The substrate implements the native launcher for the Maxine VM. It encapsulates in a platform-independent API the native services from the Operating System (OS), e.g., virtual memory operation, native thread support, and signal handling. The substrate also includes native services to support JNI and JVMTI.

То есть дополнительная виртуальная машина для запуска этой JVM не нужна. Она уже содержит необходимый минимум для запуска, написанный на C. А после запуска станет виртуальной машиной для самой себя.

READ ALSO
Как сделать сортировку списка в Android?

Как сделать сортировку списка в Android?

У меня в приложении есть список сообщений (входящие и исходящие) и я хочу их сортировать по возможности по трем параметрам: текст сообщения,...

163
Как правильно обработать на Java входящий JSON?

Как правильно обработать на Java входящий JSON?

Как делать запросы и их обрабатывать - я разобрался

163
Непонятная проблема с выбором элемента spinner Android

Непонятная проблема с выбором элемента spinner Android

Пытаюсь внедрить spinner у себя в приложенииВ списке есть три пункта, и по непонятной мне причине воспринимается выбор только 2,3 если начинать...

206
Как напечатать буквы в консоле через звездочки?

Как напечатать буквы в консоле через звездочки?

Есть 3 буквы на входе "А В В" Нужно вывести в консоль? Так должна выглядеть буква

216