Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331

Какие объекты доступны для сборщика мусора на момент вызова System.gc() и почему?

08.07.2016, 14:24. Показов 2851. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
public class GCTest {
 
static class A {
 
private String myName;
 
public A(String myName) {
 
this.myName = myName;
 
}
 
}
 
public static void main(String[] args) {
 
A a1 = new A("a1");
 
A a2 = new A("a2");
 
ArrayList list = new ArrayList();
 
list.add(a1);
 
A[] mas = new A[2];
 
mas[0] = a2;
 
a2 = a1;
 
clear(mas);
 
a1 = null;
 
a2 = null;
 
System.gc();
 
// дальше идет какой-то код
 
...
 
}
 
private static void clear(A[] mas) {
 
mas = null;
 
}
 
}
Посмотрите пожалуйста внимательно код и подскажите какие объекты доступны для сборщика мусора на момент вызова System.gc() и почему?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.07.2016, 14:24
Ответы с готовыми решениями:

Есть ли возможность узнать помечен ли объект для сборщика мусора?
Здравствуйте, есть ли возможность узнать помечен ли объект для сборщика мусора? Хотелось бы проверить, что объекты удаляются из памяти, а...

Симулятор сборщика мусора
Не очень понимаю как работает удаление мусора. В упражнении нужно добавить в место A код из правого столбика, который сможет...

Важно ли понимание работы сборщика мусора?
Изучаю тему управление памятю и сборщик мусора, но эта тема мне кажется очень и очень скучной, могу ли я пропустить эту тему? Наскольно...

7
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
08.07.2016, 14:55
Лучший ответ Сообщение было отмечено yura91 как решение

Решение

Цитата Сообщение от yura91 Посмотреть сообщение
какие объекты доступны для сборщика мусора на момент вызова System.gc()
те, на которые не осталось ссылок

Цитата Сообщение от yura91 Посмотреть сообщение
почему?
потому что на них ссылок не осталось (с) К.О
1
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
08.07.2016, 14:57  [ТС]
В данном примере это обьект a1 да? На него ссылок не осталось и он будет удален а a2 останется так?
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
08.07.2016, 15:02
yura91, в данном примере ссылки на оба объекта остануться. На один объект в листе, на другой в массиве так что имхо тут ни один объект не умрет.
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
08.07.2016, 15:06  [ТС]
Вернее нет после a2 = a1; на обьект на который указывал a2 больше не осталось ссылок и он будет удален, а на обьект на который указывает a1 теперь 2 сильных ссылки a2 и a1 верно? и он не будет удален. Правильно я рассуждаю? Если нет поправьте?

Добавлено через 33 секунды
yura91, в данном примере ссылки на оба объекта остануться. На один объект в листе, на другой в массиве так что имхо тут ни один объект не умрет.
Понял спасибо
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
12.07.2016, 15:09  [ТС]
а функция clear(mas); в этом коде просто обнуляет объекты которые в массиве а сами обьекты остануться и ссылки на них так, просто эти объекты будут нулевыми верно?

Добавлено через 38 минут
Просто если сделать mas = null, то он все равно будет содержать ссылки на объекты?

Добавлено через 2 минуты
Мне кажется тот объект что в массиве можно будет удалить сборщику мусора разве нет? Ведь ссылка на массив здесь обнуляется.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
12.07.2016, 15:29
yura91, фция clear(mas); не делает ничего. Туда передается копия ссылки на массив. Внутри ф-ции копия ссылки обнуляется. На сам массив это никак не влияет
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
12.07.2016, 15:45  [ТС]
Понятно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.07.2016, 15:45
Помогаю со студенческими работами здесь

Класс сборщика мусора, что думаете?
Всем привет, на форуме sql.ru увидел такой код, слегка исправил его, в методе Add, компилятор ругался на неправильный каст... unit...

Очистка памяти без сборщика мусора
Доброго времени суток! Сдаём курсовую преподу по САОДу, в начале разрешал любой ООПшный язык, с очищением памяти СО сборщиком мусора,...

Удаление объекта из памяти без сборщика мусора
Как удалить объект из памяти, не используя сборщик мусора (например, его отключив)? Добавлено через 1 минуту Я не знаю как это...

Какие операции доступны для целочисленных переменных и недоступны для вещественных?
Какие операции доступны для целочисленных переменных и недоступны для вещественных? 1.Арифметические операции (сложение, вычитание,...

Какие операции доступны для целочисленных переменных и недоступны для вещественных?
Какие операции доступны для целочисленных переменных и недоступны для вещественных? 1.Арифметические операции (сложение, вычитание,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru