Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Нужно ли в java освобождать объекты? / 8 сообщений из 8, страница 1 из 1
31.08.2006, 23:26
    #33957004
Vetal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно ли в java освобождать объекты?
Всем привет!

Раньше программил на С++. Там все созданные объекты нужно было освобождать. В java вроде как не надо.

Однако возникает вопрос. Может, все-таки объекты освобождать вручную нужно? А то JavaHeapSpaceException уже задолбал. Даю 256 метров памяти, вроде данных не так уж и много...

Вобщем, вопрос такой. Нужно ли в java освобождать объекты?

Всем спасибо!
...
Рейтинг: 0 / 0
31.08.2006, 23:33
    #33957015
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно ли в java освобождать объекты?
Конечно ДА! И в то же время НЕТ!

Ненужному объекту надо присвоить null этого достаточно, но об этом нельзя забывать иначе рискуете получить memory leak не хуже чем в C++

Пока есть живые ссылки на объект сборщик мусора не может его убить.
Код: plaintext
1.
2.
3.
4.
5.
Object o1= new  Object();
Object o2=o1;
...
o1= null ; //вот здесь еще возможна утечка памяти
o2= null ; //здесь уже нет
Это в общих чертах.
...
Рейтинг: 0 / 0
01.09.2006, 00:01
    #33957044
Vetal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно ли в java освобождать объекты?
2 Kachalov:
А если метод завершает работу, означает ли это, что объектам, созданным внутри этого метода, и на которые нет ссылок, нужно тоже делать obj=null;? Или при выходе из метода ссылки на созданные объекты автоматически убиваются?
...
Рейтинг: 0 / 0
01.09.2006, 00:39
    #33957102
Кувалдин Роман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно ли в java освобождать объекты?
Vetal2 Kachalov:
А если метод завершает работу, означает ли это, что объектам, созданным внутри этого метода, и на которые нет ссылок, нужно тоже делать obj=null;? Или при выходе из метода ссылки на созданные объекты автоматически убиваются?

Локальные объекты убиваются. Не надо ничего делать.
...
Рейтинг: 0 / 0
01.09.2006, 05:52
    #33957194
LINUXER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно ли в java освобождать объекты?
VetalА если метод завершает работу, означает ли это, что объектам, созданным внутри этого метода, и на которые нет ссылок, нужно тоже делать obj=null;? Или при выходе из метода ссылки на созданные объекты автоматически убиваются?
Вообще-то они убиваются не сразу а когда сборщик мусора сочтёт это нужным. Нет гарантии что они немедленно убьются даже в случае вызова сборщика вручную. Хотя это принципиально только при использовании finally()
...
Рейтинг: 0 / 0
01.09.2006, 08:53
    #33957307
Кувалдин Роман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно ли в java освобождать объекты?
LINUXERВообще-то они убиваются не сразу а когда сборщик мусора сочтёт это нужным. Нет гарантии что они немедленно убьются даже в случае вызова сборщика вручную. Хотя это принципиально только при использовании finally()

В случае вызова сборщика вручную - убьются, не сомневайся.
п.с. вместо finally() читать finalize()
...
Рейтинг: 0 / 0
01.09.2006, 10:53
    #33957665
Andrey_sSs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно ли в java освобождать объекты?
Не убьются. Вызов gc() - только информирует, а не обязывает!
...
Рейтинг: 0 / 0
01.09.2006, 11:30
    #33957829
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно ли в java освобождать объекты?
Кувалдин Роман LINUXERВообще-то они убиваются не сразу а когда сборщик мусора сочтёт это нужным. Нет гарантии что они немедленно убьются даже в случае вызова сборщика вручную. Хотя это принципиально только при использовании finally()

В случае вызова сборщика вручную - убьются, не сомневайся.
п.с. вместо finally() читать finalize()
finalize() pitfalls
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Нужно ли в java освобождать объекты? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]