Я интересно, как это происходит: как программа Java отображается на процесс ОС (как показано на Linux ниже):
Отображение программы Java в процессе операционной системы
В C, это прямая связь в том, как написана программа и как весь стек вызовов продолжается в ОС. Мне было интересно, как достигается отображение на Java? Используется ли метод meth(), вызываемый объектом: obj, просто перевести на поиск адреса obj.meth() & с последующим стекем, который используется так, как он есть в C?
Заранее благодарен!
Редактировать: Мне также было бы интересно узнать модель, которую используют другие языки ООП (C++, Python и т. Д.).
Обратите внимание, что даже для C данное изображение уже является серьезным упрощением. Например, не обязательно только одна куча (наличие одной кучи - неплохая идея, если у вас много потоков, которые хотят выделить память), тогда есть данные, специфичные для потока, и так далее. Дьявол в деталях, и если вы думаете о том, насколько сложна даже простая C-среда выполнения, просто представьте, как выглядит JVM :) – Voo
Конечно, я просто хотел обсудить простой случай с одним потоковым процессом :) –