Содержит ли среда выполнения Android (ART или Dalvik) стек Java VM или стек собственных методов, например JVM? - PullRequest
0 голосов
/ 26 октября 2018

Согласно Oracle Docs Области данных времени выполнения состояний, JVM содержит различные части областей данных: enter image description here Я также узнал, что JVM основана на стеке, а ART / Dalvik - на основе регистров. Куча Далвика состоит из Кучи Активного и Кучи Зиготы.
Вопросы следующие:
1. В чем разница между «стеком» в стеке и «стеком» в стеке виртуальных машин Java / стеком собственных методов.
2. Содержит ли ART / Dalvik стеки, такие как стеки Java VM в JVM?
3. Как выглядят области данных ART / Dalvik?

1 Ответ

0 голосов
/ 30 октября 2018
  1. В чем разница между «стеком» в стеке и «стеком» в стеке виртуальных машин Java / стеком собственных методов.

Они относятся к одному и тому же. Виртуальная машина на основе стека использует stack своего пространства памяти для выполнения логических и арифметических операций.

Содержит ли ART / Dalvik стеки, такие как стеки Java VM в JVM?

Реализация виртуальной машины Android (как Dalvik, так и ART) не Stack based, а вместо Register based. Единственное, что позволяет Android сделать, - это напрямую сопоставлять виртуальные регистры с реальными аппаратными регистрами, что повышает скорость и эффективность выполнения.

  1. Как выглядят области данных ART / Dalvik Run-Time?

Вы можете увидеть пример этого и узнать больше о виртуальных машинах на основе стеков и регистров здесь .

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