Тут правильно насчёт сборки мусора в JAVA замечено, она работает автоматически. Но могут быть у тебя и такие ситуации, когда тебе придётся удалять экземпляры классов вручную. Для этого существует метод finalize().
Этот метод не может быть вызван для одного экземпляра класса дважды. Способен выбросить исключение любого возможного типа (объявление throws Throwable). О том, где ты будешь вызывать этот метод - тоже думай самостоятельно - метод объявлен как protected. И ещё обязательно следи за жизненным циклом объектов - если ты обращаешься к методу finalize(), всегда перед выполнением операций над экземпляром класса проверяй существование экземпляра и обрабатывай исключение NullPointerException.
Самое главное: ПОСТАРАЙСЯ УДЕЛЯТЬ ПОБОЛЬШЕ ВНИМАНИЯ ПРОЕКТИРОВАНИЮ СИСТЕМЫ, И НЕ ДОВОДИТЬ ДЕЛО ДО ВЫЗОВА finalize(). Пользуйся им только там, где это НЕОБХОДИМО.
Другие языки программирования и технологии
Какой аналог delete из C++ в Java? Есть ли такой, подскажите пожалуйста....
чтонибудь вроде GC.Collect()
но это необязательно, управление памятью происходить автоматически
но это необязательно, управление памятью происходить автоматически
Cреда выполнения сама производит очистку памяти. В тот момент, когда в куче становится мало места, вызывается сборщик мусора. Он проверяет, на какие объекты больше нет в области видимости ссылок и удаляет ненужные объекты. Можно конечно вызывать сборщик мусора вручную, но это нужно делать в очень исключительных случаях. Можешь пока этим не заморачиваться.
Насколько я понимаю философию Явы, там освобождать объекты не обязательно - там "сборщик мусора" есть, который это сам за вас делает.
Похожие вопросы
- Не могу выбрать между C# и Java
- C# или Java, что выбрать?
- Какой язык язык лучше C# или Java?
- Что все же выбрать C/C++ или java?
- Что быстрее освоить и пойти на работу: C# или Java? Есть опыт на устаревшем языке.
- C# и Java - В чём отличия?
- C++ vs C# vs Java Что лучше для игростроя? Какой язык лучше изучать для разработки игр?
- кто занет эти языки C++ C# Delphi Java.. Чем проще программировать, у каких их них есть будующее и другие советы за и ..
- Какой язык считается наиболее продвинутым c++, c# bkb java
- На каком языке программирования писать гостиничную программу? C++, C#, PHP, Java?