Существует специальная часть Java Runtime называется сборщик мусора заботится не разрушая все объекты, когда они больше не используются.
Приложение может выделить память для объекта с помощью явных и неявных способов при создании объекта, но они не могут явно свободной, что память.
Чтобы сигнализировать JVM, что объект готов для сборки мусора, объект должен получить unrefrenced в любом из способов ниже:
Явное person = null
Снятие ссылки; // person является экземпляром Person
Объект выходит за рамки Объект, созданный внутри метода, выходит за пределы области действия, как только метод возвращается к вызывающему методу. Итак, в нижнем случае один раз method()
закончился, p неявно становится null.
общественного недействительный метод() {
Персона р = новое лицо(); }
После unrefrencing, виртуальная машина может вернуть эту память. Виртуальная машина может решить, когда мусор собирать неохраняемый объект. Но спецификация не гарантирует предсказуемого поведения. Это зависит от VM, чтобы решить, когда вернуть память из недопустимого объекта или, возможно, НЕ вернуть память вообще.
Если класс объявляет финализатор (т. Е. Метод public void finalize()
), то сборщик мусора будет выполнять метод finalize()
в экземпляре класса, прежде чем он освободит пространство памяти, занимаемое этим экземпляром.
Так ясно, точное время сбора мусора непредсказуемо.
Источник: http://geekrai.blogspot.com.br/2013/05/life-cycle-of-object-in-java.html
Этот объект является локальным для метода inituser ... как только он покидает метод ... Объект имеет право на gc ... – CoderNeji
Да Мати, просто посмотрел на него. Это то, что я искал. – Erik
Будет автоматически собираться мусор в какой-то момент после того, как он больше не используется. –