Android-управление памятью Java - PullRequest
2 голосов
/ 30 апреля 2010

как вызовы статических методов обрабатываются JVM? он все еще выделяет память при совершении вызова? если да, как сборщик мусора обрабатывает это распределение после вызова метода?

1 Ответ

2 голосов
/ 30 апреля 2010

Что вы подразумеваете под выделением памяти? Это добавляет кадр стека? да, конечно, чтобы запустить метод и выделить локальную переменную для хранения. Статические методы ничем не отличаются. Фактически они идентичны, за исключением того, что методы экземпляра незаметно передаются this в вызове метода, за кулисами.

Любые объекты, которые были выделены в методе и более недоступны после завершения метода (возможно, потому что на них ссылалась только локальная ссылка, локальная для метода), сразу же становятся доступными для GC. Хотя нет никаких гарантий относительно того, когда GC будет работать.

Но опять же, для статических методов это ничем не отличается от любых других.

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