Java - Распределение памяти для классов - PullRequest
0 голосов
/ 21 марта 2010

Где находится определение класса в памяти?

1 Ответ

1 голос
/ 21 марта 2010

Это зависит от того, о какой Java вы говорите

" макет памяти областей данных времени выполнения , используемый алгоритм сбора мусора и любая внутренняя оптимизацияинструкций виртуальной машины Java (например, переводя их в машинный код) оставьте на усмотрение разработчика. "

См. JVM spec .

Тем не менее, Sun Java имеет раздел памяти, называемый постоянное поколение , который включает в себя определения классов.Из-за своего первоначального намерения (относительно небольшая область для в основном статических классов) постоянное поколение не всегда хорошо сочетается с динамическими языками, предназначенными для JVM.См. это обсуждение проблем JRuby.Это является частью мотивации проекта Da Vinci Machine , целью которого является улучшение поддержки виртуальных машин для таких языков.

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