Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос по java gc / 9 сообщений из 9, страница 1 из 1
17.04.2013, 22:08:37
    #38230052
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по java gc
как garbage collector понимает что на объект нет ссылок ?
...
Рейтинг: 0 / 0
17.04.2013, 22:18:05
    #38230062
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по java gc
Atum1как garbage collector понимает что на объект нет ссылок ?
Зависит от способа реализации. А их много. Но, грубо говоря, сканирует все объекты начиная от "корней" (GC Roots), которые точно не могут быть удалены. Они помечаются как живые. Все остальные, удаляются. Поэтому производительность GC сильнее зависит от количества живых объектов, чем от тех, которые предстоит удалить. Удаление вообще скопом сразу множества объектов может быть произведено. Это, например, даёт серьезный прирост в производительности в сравнении с другими платформами, где объекты удаляются по одному. Но так же это и серьезная проблема для Java, где куча живых объектов более 4Гб приводит к серьезным тормозам.
...
Рейтинг: 0 / 0
17.04.2013, 22:20:01
    #38230064
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по java gc
Blazkowicz,

А может быть такой способ чтобы у объекта был счетчик ссылок на него?
...
Рейтинг: 0 / 0
17.04.2013, 22:25:37
    #38230073
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по java gc
Atum1А может быть такой способ чтобы у объекта был счетчик ссылок на него?
Этот?
http://en.wikipedia.org/wiki/Reference_counting
В Hotspot он не реализован. В IBM, JRockit, Dalvik, думаю, тоже.
Можно взять OpenJDK и попрообвать реализовать самостоятельно.
Вопрос только зачем?
...
Рейтинг: 0 / 0
17.04.2013, 22:31:00
    #38230078
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по java gc
Ну как я понимаю он реализован в gcc - и что мешает реализовать его в java ? ведь в java уже есть атомарные переменные для инкрементации количества ссылок .

альтернативный подход - реализован в линуксе , когда в объект записывается время удаления.
...
Рейтинг: 0 / 0
17.04.2013, 22:36:51
    #38230087
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по java gc
Atum1Ну как я понимаю он реализован в gcc - и что мешает реализовать его в java ?
Неэффективность?
https://www.ibm.com/developerworks/library/j-jtp10283/

Atum1ведь в java уже есть атомарные переменные для инкрементации количества ссылок .
API и внутренняя реализация JVM это не одно и то же. Java GC не реализован на Java API.

Atum1альтернативный подход - реализован в линуксе , когда в объект записывается время удаления.
ОК
...
Рейтинг: 0 / 0
18.04.2013, 15:30:35
    #38231041
rfq
rfq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по java gc
Atum1Blazkowicz,

А может быть такой способ чтобы у объекта был счетчик ссылок на него?

Счетчи ссылок не позволяет обнаружить и освободить недоступные циклические структуры, а в яве они могут образовываться очень легко.
...
Рейтинг: 0 / 0
18.04.2013, 15:40:19
    #38231067
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по java gc
rfqСчетчи ссылок не позволяет обнаружить и освободить недоступные циклические структуры, а в яве они могут образовываться очень легко.
Это в простейшей реализации. Более сложные алгоритмы это решают.
...
Рейтинг: 0 / 0
19.04.2013, 19:16:10
    #38233439
chabapok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по java gc
А атомарные переменные подвержены проблеме АВА? Если да, то для подсчета ссылок они, вроде как, не подходят.

А что за механизм когда в обьект пишется время его удаления? Я про такое не знаю. Дайте ключевые слова для гугления.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос по java gc / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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