В c / c ++ локальные объекты создаются в стеке, а данные передаются из стека в регистры процессора.
В Java нет стека, все объекты размещаются в куче, теперь для предварительно написанного кода можно рассчитать размер, необходимый для объектов, и вместо того, чтобы иметь стиль c c ++ с избыточным распределением для выделения кучи объектов, закладываются целые блоки кода вниз сразу. Таким образом, производительность кучи Java почти так же хороша и практически сопоставима с производительностью стека в c c ++.
Мой вопрос: как программа перенаправляется из кучи в конечном итоге к выполнению?
Давайте предположим, что я запускаю функцию, которая копирует программный код в память после того, как программа находится в динамической памяти, и возвращает адрес точки входа в программу, как мне начать ее выполнение?