Интерфейсы Java ... Динамическая или статическая память? - PullRequest
4 голосов
/ 23 февраля 2010

Где Java-интерфейсы находятся в памяти? Они находятся в куче или в стеке, или, может быть, в глобальной памяти? Я думаю, что они в стеке, так как они созданы во время компиляции. Я прав?

Ответы [ 3 ]

5 голосов
/ 23 февраля 2010

Определения классов - включая интерфейсы и абстрактные классы - хранятся в пространстве PermGen, что означает, что они никогда не будут собираться мусором. PermGen, iirc, является частью кучи.

1 голос
/ 23 февраля 2010

Технически интерфейсы не "создаются" в том смысле, что создается обычный экземпляр класса, но информация о классе хранится в пространстве java permgen. См. http://blogs.oracle.com/jonthecollector/entry/presenting_the_permanent_generation для получения дополнительной информации о permgen и разнице между экземпляром класса и информацией о классе.

0 голосов
/ 23 февраля 2010

Определения классов (включая интерфейсы и т. Д.) Хранятся в куче (обычно в постоянном поколении, поскольку их время жизни велико). Если ClassLoader, создавший их, является сборщиком мусора, то они также могут быть использованы для сбора мусора.

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