В Java, где в памяти помещены функции класса? - PullRequest
2 голосов
/ 14 апреля 2010

В java, где в память помещены функции класса?

Ответы [ 2 ]

3 голосов
/ 14 апреля 2010

В спецификации JVM указывается, что она является частью кучи:

3.5.4 Область метода

В виртуальной машине Java есть метод область, которая является общей для всей Java потоки виртуальной машины. Метод площадь аналогична складской площади для скомпилированного кода обычного язык или аналог "текст" сегмент в процессе UNIX. Это магазины структуры для каждого класса, такие как постоянный пул времени выполнения, поле и данные метода и код для методов и конструкторы, в том числе специальные методы (§3.9), используемые в классе и инициализация экземпляра и инициализация типа интерфейса. область метода создается на виртуальном пуск машины. Хотя метод область логически является частью кучи, простые реализации могут выбрать не либо собирать мусор, либо компактировать Это. Эта версия виртуальной Java спецификация машины не требует расположение области метода или политики, используемые для управления скомпилированным кодом. Область метода может иметь фиксированный размер или может быть расширен в соответствии с требованиями расчет и может быть заключен контракт, если большая область метода становится ненужным. Память для метода область не должна быть смежной.

Ссылка: Спецификация виртуальной машины JavaTM

3 голосов
/ 14 апреля 2010

Зависит от реализации. Как правило, вы не должны беспокоиться о таких вещах в Java. Вся концепция «ВМ» состоит в том, чтобы абстрагироваться от таких вещей, как эта. Теперь я бы предположил, что функции хранятся где-то рядом с байт-кодом, но если ваша виртуальная машина поддерживает JIT, то они могут быть где угодно ....

Я думаю, мы могли бы сказать "в кучу" ... LOL

Если честно, я не могу придумать ни одной причины, по которой вам нужно это знать, и мысль о том, что вы пытаетесь использовать это, пугает меня.

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