powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Сборка мусора
44 сообщений из 44, показаны все 2 страниц
Сборка мусора
    #39810150
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!
Подскажите пожалуйста почему сборка мусора может происходить чаще чем я ожидаю?
Например я задал максимальный размер памяти для приложения 28 ГБ -Xmx28g
В моём понимании (оно может отличаться от правильного :) ) сборка должна происходить когда размер используемой памяти будет приближаться к 28 ГБ, а через Jconsole я вижу что сборка идёт чаще см. скриншот. Почему сборщик мусора так частит окоянный ? :)
...
Рейтинг: 0 / 0
Сборка мусора
    #39810186
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Медитировать над различием между Minor и Major GC.
У Вас full garbage collector запускался только 1 (один) раз.
...
Рейтинг: 0 / 0
Сборка мусора
    #39810189
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, извеняюсь, 14 раз запускался

В любом случае:
нужная полная настройка JVM
нужен паксимально детальный лог GC из него скорее всего и будет понятно, почему сборка мусора запускалась

Как вариант: сборка мусора запускается из кода приложения
...
Рейтинг: 0 / 0
Сборка мусора
    #39810194
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsevнет, извиняюсь, 14 раз запускался

В любом случае:
нужная полная настройка JVM
нужен максимально детальный лог GC из него скорее всего и будет понятно, почему сборка мусора запускалась

Как вариант: сборка мусора запускается из кода приложения

Чтобы получить лог GC нужно JVM запускать с какими-то параметрами?
Про сборку из приложения (приложение это Tomcat) хорошая идея, спасибо за подсказку. Я проверю.
...
Рейтинг: 0 / 0
Сборка мусора
    #39810205
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Указание максимального размера не означает же, что будет взята вся память сразу по максимуму.

Если указать минимальный размер равный максимальному (что как раз и советуют для серверных приложений), картина такая же?
...
Рейтинг: 0 / 0
Сборка мусора
    #39810206
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin нужно JVM запускать с какими-то параметрами?
Да, разумеется

https://docs.oracle.com/javacomponents/jrockit-hotspot/migration-guide/logging.htm#JRHMG125

google:
https://confluence.atlassian.com/confkb/how-to-enable-garbage-collection-gc-logging-300813751.html
https://dzone.com/articles/enabling-and-analysing-the-garbage-collection-log
etc....

MandarinПро сборку из приложения (приложение это Tomcat) хорошая идея, спасибо за подсказку. Я проверю.
Плохая идея выделять сверх много памяти.

Т.к. при full GC все стоит "колом". Бизнес задачь, которые могут выдержать несколько секунд стояния __полным__ колом - я не знаю. При "обычных" GC выбор между "собирать мурок редко но колом стоять долго" vs "собирать мусор чаще, зато стоять колом будем меньше"

При таких объемах памяти нужно с какими-то более продвинутыми GC эксперементировать. IMHO

Не понятно, за какой период времени статистика. Т.к. на Вашем графике явно Minor, а не Full GC (пиков явно больше 14). Если minor GC запускается раз в 30 секунд - 1 мин. это крайне хороший показатель. Я бы успокоился и ничего не трогал.

MandarinПро сборку из приложения
-XX:+DisableExplicitGC.
...
Рейтинг: 0 / 0
Сборка мусора
    #39810225
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из графика видно:
Под кучу занято пока не 28, а только 20 гб;
По дефолту -XX:MinHeapFreeRatio=40, то есть следующее увеличение кучи произойдет, когда после сборки будет занято более 12гб (60%), на картинке видно, что пока после сборки остается занятым 9гб;

аномалии:
По идее, minor сборка должна происходить на 9+20*1/3 ~ 15 гб, а тут почему-то раньше. Искать в коде вызов GC;
Подозрительно много занято под oldgen. Если это рядовые web-приложения на Tomcat-е, неплохо бы поискать утечки
...
Рейтинг: 0 / 0
Сборка мусора
    #39810227
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,

Понятно, спасибо за подсказки.
...
Рейтинг: 0 / 0
Сборка мусора
    #39810249
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а какой gc ?
...
Рейтинг: 0 / 0
Сборка мусора
    #39810258
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin, есть желание покататься на 12-той модели жигулей?
...
Рейтинг: 0 / 0
Сборка мусора
    #39812140
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin,

Где-то я читал, что GC с версии джавы 8 запускается когда сам посчитает нужным, а не когда его попросят.
...
Рейтинг: 0 / 0
Сборка мусора
    #39812148
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жаль. Надо было погонять этот Шенандох.
...
Рейтинг: 0 / 0
Сборка мусора
    #39812318
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мозговой_слизеньMandarin,

Где-то я читал, что GC с версии джавы 8 запускается когда сам посчитает нужным, а не когда его попросят.

Ошибаетесь. На JDK8 System.gc() запускает полную сборку в _большинстве_ случаев.
Но в целом глупо ждать от сборщика мусора соответствия своим фантазиям.
...
Рейтинг: 0 / 0
Сборка мусора
    #39812718
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey TominМозговой_слизеньMandarin,

Где-то я читал, что GC с версии джавы 8 запускается когда сам посчитает нужным, а не когда его попросят.

Ошибаетесь. На JDK8 System.gc() запускает полную сборку в _большинстве_ случаев.
Но в целом глупо ждать от сборщика мусора соответствия своим фантазиям.

источник знания?
...
Рейтинг: 0 / 0
Сборка мусора
    #39812719
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
впрочем, пилите, Шура, пилите.
...
Рейтинг: 0 / 0
Сборка мусора
    #39812737
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мозговой_слизеньAlexey TominОшибаетесь. На JDK8 System.gc() запускает полную сборку в _большинстве_ случаев.
Но в целом глупо ждать от сборщика мусора соответствия своим фантазиям.
источник знания?

Знаний чего?

Что gc() работает? Несколько лет в мою зону ответственности входит поиск проблем с памятью приложения на JDK8. Так что и из кода вызов смотрел, и сам в jconsole и т.п. тыкал - собирается мусор. Особенно если тыкать с умом (например после окончания работы алгоритмов, которых памяти нахватали временно).

Или того, что это не обязательство а везение? Ну так это документация- сборка мусора может запутиться сама, или НЕ запуститься при вызова gc(). Никаких гарантий.

Плюс разные сборщики мусора работают по-разному.
...
Рейтинг: 0 / 0
Сборка мусора
    #39812747
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey TominМозговой_слизеньпропущено...

источник знания?

Знаний чего?

Что gc() работает? Несколько лет в мою зону ответственности входит поиск проблем с памятью приложения на JDK8. Так что и из кода вызов смотрел, и сам в jconsole и т.п. тыкал - собирается мусор. Особенно если тыкать с умом (например после окончания работы алгоритмов, которых памяти нахватали временно).

Или того, что это не обязательство а везение ? Ну так это документация- сборка мусора может запутиться сама, или НЕ запуститься при вызова gc(). Никаких гарантий .

Плюс разные сборщики мусора работают по-разному.

Ну и как это противоречит моему утверждению, что GC запускается когда сам сочтет нужным? Я вот тут хотел цитатку привести из документации по GC, да передумал. Вижу вы и без меня умный.
...
Рейтинг: 0 / 0
Сборка мусора
    #39812836
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наверное тогда, когда наступят УСЛОВИЯ для его запуска. Другое дело, что эти условия для разных GC могут быть разными

Про ручной запуск вызовом System.gc, в документации все нормально написано.

Где-то я читал, что GC с версии джавы 8 запускается когда сам посчитает нужным, а не когда его попросят.
я так понимаю, нужно читать так:

"Сидел с бабками на завалинке, одна бабка сказала ....[далее по тексту]"
...
Рейтинг: 0 / 0
Сборка мусора
    #39812838
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tominили НЕ запуститься при вызова gc(). Никаких гарантий.

Что значит "никакой гарантии" ? Есть ключи командной строки которые управляют данным поведением.
...
Рейтинг: 0 / 0
Сборка мусора
    #39812840
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему никто до сих пор не попросил у мандарина его командную строку?

Почему никому не интересно увидеть вкладку плагина Visual GC ?
...
Рейтинг: 0 / 0
Сборка мусора
    #39812879
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevAlexey Tominили НЕ запуститься при вызова gc(). Никаких гарантий.

Что значит "никакой гарантии" ? Есть ключи командной строки которые управляют данным поведением.

Ключи? Знаю только XX:+DisableExplicitGC который делаеть System.gc() пустышкой. А что ещё?
...
Рейтинг: 0 / 0
Сборка мусора
    #39813013
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А этого мало? )))

Просто мне кажется, что по ходу дискуссии идея "что в зависимости от настроек и используемого GC, System.GC() МОЖЕТ игнорироваться" трансформировалась в "код System.GC() выглядит примерно так":
Код: sql
1.
2.
3.
4.
5.
if random() {
  ВЫЗВАТЬ_ЭТОТ_ЧЕРТОВ_GC();
} else {
  пощли_все_лесом()
}


А, IMHO & AFAIK, это совсем не так. Нет там никакого random().

Разумеется осмысленного использования Systen.GC() в продакшен коде - исчезающе мало. Но в __редких__ случаях, он вполне себе используется.

Почему никто до сих пор не попросил у мандарина его командную строку?

Почему никому не интересно увидеть вкладку плагина Visual GC ?
А зачем?
Без логов GC все равно смысла мало, ссылку на включение логов автору я вроде кинул. Автор исчез.

А в логах и так причина вызова GC должна английским по экрану быть написана.
...
Рейтинг: 0 / 0
Сборка мусора
    #39813031
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ну тогда топик можно закрыть за остуствием фактов. Кстати всегда удивляла способность программистов к телепатии.
...
Рейтинг: 0 / 0
Сборка мусора
    #39813092
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevА этого мало? )))

Просто мне кажется, что по ходу дискуссии идея "что в зависимости от настроек и используемого GC, System.GC() МОЖЕТ игнорироваться" трансформировалась в "код System.GC() выглядит примерно так":
Код: sql
1.
2.
3.
4.
5.
if random() {
  ВЫЗВАТЬ_ЭТОТ_ЧЕРТОВ_GC();
} else {
  пощли_все_лесом()
}


А, IMHO & AFAIK, это совсем не так. Нет там никакого random().

Разумеется осмысленного использования Systen.GC() в продакшен коде - исчезающе мало. Но в __редких__ случаях, он вполне себе используется.

Почему никто до сих пор не попросил у мандарина его командную строку?

Почему никому не интересно увидеть вкладку плагина Visual GC ?
А зачем?
Без логов GC все равно смысла мало, ссылку на включение логов автору я вроде кинул. Автор исчез.

А в логах и так причина вызова GC должна английским по экрану быть написана.

Как приятно наблюдать кипение мозгов. Вот ведь когда не знаешь вопроса какой велосипед можно изобрести. Пятиколесный аж.
...
Рейтинг: 0 / 0
Сборка мусора
    #39813095
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мозговой_слизень.....
Как приятно наблюдать кипение мозгов. Вот ведь когда не знаешь вопроса какой велосипед можно изобрести. Пятиколесный аж.
+++

Мозговой_слизеньНу и как это противоречит моему утверждению, что GC запускается когда сам сочтет нужным? Я вот тут хотел цитатку привести из документации по GC, да передумал. Вижу вы и без меня умный.
...
Рейтинг: 0 / 0
Сборка мусора
    #39813100
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, ну написано же в умных книгах, что попытка вызвать GC в коде будет носить статус "suggest". Переводится как "предложение".
А дальше в этих книгах написано, что когда ссылки на объект нет, тогда объект может быть удален GC.

Выглядит так, как будто на фундаменте этого простого принципа вы нагородили высокий небоскреб хитроумных противоречий.
...
Рейтинг: 0 / 0
Сборка мусора
    #39813105
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется надо как в сайте Ораклистов начать с цитаты официальной документации.

Инфа по восьмерке
https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#gc-- public static void gc()

Runs the garbage collector.

Calling the gc method suggests that the Java Virtual Machine expend effort toward recycling unused objects in
order to make the memory they currently occupy available for quick reuse. When control returns from the method
call, the Java Virtual Machine has made a best effort to reclaim space from all discarded objects.

The call System.gc() is effectively equivalent to the call:
Runtime.getRuntime().gc()

See Also:

Runtime.gc()


Потом пойти в jvm specification и потом в исходники.
...
Рейтинг: 0 / 0
Сборка мусора
    #39813106
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мозговой_слизень....носить статус "suggest". Переводится как "предложение"....
Во...блин
У Java уже искуственный интелект появился. Ему предлогаешь и он сам принимает решение. КРУТО!
А я похоже отстал от жизни
...
Рейтинг: 0 / 0
Сборка мусора
    #39813111
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПотом пойти в jvm specification и потом в исходники.

OpenJDK_на_просторах_Inet
Код: c
1.
2.
3.
4.
5.
JVM_ENTRY_NO_ENV(void, JVM_GC(void))
  JVMWrapper("JVM_GC");
  if (!DisableExplicitGC) {
    Universe::heap()->collect(GCCause::_java_lang_system_gc);
  }
JVM_END
...
Рейтинг: 0 / 0
Сборка мусора
    #39813113
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну.. если автор будет happy.
...
Рейтинг: 0 / 0
Сборка мусора
    #39813115
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в других JVM?
...
Рейтинг: 0 / 0
Сборка мусора
    #39813122
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в epsilon-gc?
...
Рейтинг: 0 / 0
Сборка мусора
    #39813148
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevМозговой_слизень....носить статус "suggest". Переводится как "предложение"....
Во...блин
У Java уже искуственный интелект появился. Ему предлогаешь и он сам принимает решение. КРУТО!
А я похоже отстал от жизни

ну а в чем я не прав-то? У тебя есть возможность принудительно и однозначно вызвать GC?
...
Рейтинг: 0 / 0
Сборка мусора
    #39813152
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мозговой_слизеньУ тебя есть возможность принудительно и однозначно вызвать GC?
Да
...
Рейтинг: 0 / 0
Сборка мусора
    #39813154
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя поторопился.

Сначала, пожалуйсто, поясните, что Вы понимаете под словом "однозначно" Т.к., как я уже и сказал, "в зависимости от настроек".
...
Рейтинг: 0 / 0
Сборка мусора
    #39813159
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению "однозначного" в этом мире ничего нет

Java может вообще никогда GC не вызвать, например если компьютер выключен. То никакой System.GC разумеется, ничем помочь не может ((( Без включенной вилки в розетку - GC очень тяжело работать. Но обычно, я выполнению рекомендации MicroSoft и когда что-то не работает, то проверяю, воткнута ли вилка в розетку.
...
Рейтинг: 0 / 0
Сборка мусора
    #39813165
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevК сожалению "однозначного" в этом мире ничего нет

Java может вообще никогда GC не вызвать, например если компьютер выключен. То никакой System.GC разумеется, ничем помочь не может ((( Без включенной вилки в розетку - GC очень тяжело работать. Но обычно, я выполнению рекомендации MicroSoft и когда что-то не работает, то проверяю, воткнута ли вилка в розетку.

ну понятно, пошли отмазки. Вот еще цитатка, подтверждающая то, что Java может игнорировать попытки вызвать GC.
...
Рейтинг: 0 / 0
Сборка мусора
    #39813179
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я уже признал свою вину (((.

Особенно игнорирует когда компьютер выключен. Просто когда писал ответ, об этой возможности не подумал ((( но об этом уже покаялся

Как сложно жить! Все так не однозначно (((
Код: sql
1.
2.
3.
  if (!DisableExplicitGC) {
    Universe::heap()->collect(GCCause::_java_lang_system_gc);
  }



P.S.
Модератор, забаньте меня пожалуйсто на пару суток. А то реально "кипение мозгов". Пойду их холодным стаутом Belhaven залью (((
...
Рейтинг: 0 / 0
Сборка мусора
    #39813183
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev, а я с тёмного на светлое пшеничное перешёл.
...
Рейтинг: 0 / 0
Сборка мусора
    #39813185
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevЯ уже признал свою вину (((.

Особенно игнорирует когда компьютер выключен. Просто когда писал ответ, об этой возможности не подумал ((( но об этом уже покаялся

Как сложно жить! Все так не однозначно (((
Код: sql
1.
2.
3.
  if (!DisableExplicitGC) {
    Universe::heap()->collect(GCCause::_java_lang_system_gc);
  }



P.S.
Модератор, забаньте меня пожалуйсто на пару суток. А то реально "кипение мозгов". Пойду их холодным стаутом Belhaven залью (((
В данном случае вы не правы. Есть разница между спецификацией и конкретной имплементацией
...
Рейтинг: 0 / 0
Сборка мусора
    #39813187
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мозговой_слизень...Вот еще цитатка...может игнорировать....
Плохая цитата. Плохая книга. Тут еще полно возможностей:

1. Компьютер игнорирует включение, т.к. не воткнут в розетку
2. Windows игнорирует ПРОСЬБУ войти в систему, т.к. не правильный пароль
3. Windows игнориурет ПРОСЬБУ запустить программу, т.к. на компьютере не установлена Java Runtime
4. Windows игнорирует ПРОСЬБУ поставить Java, т.к. нет места на жестком диске
....
10. Кофеварка игнорирует ПРОСЬБУ налить кофе, т.к. закончился кофейный порошек.
....
23. Пивная пробка игнорирует ПРОСЬБУ открутиться, т.к. в конструкции бутылки пива Brewdog PUNK IPA предполагалось использовать открывашку, а ее нет в наличии на работе ((( а открывать пивные бутылки подручными средствами я не умею (((
...
100500. Java игнорирetт ПРОСЬБУ вызвать GC, т.к. у него просто нет настроения

Как сложно жить !!!!

Все... ушел за пивом...

o.s.
Спасибо клавиатуре за любезно предоставленные буквы. Какая хорошая клавиатура, какая плохая Java (((
p.p.s.
- Доктор меня все игнорируют
- Кто "все"?
- Java
- Следующий...
...
Рейтинг: 0 / 0
Сборка мусора
    #39813198
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevЯ уже признал свою вину (((.

Особенно игнорирует когда компьютер выключен. Просто когда писал ответ, об этой возможности не подумал ((( но об этом уже покаялся

Как сложно жить! Все так не однозначно (((
Код: sql
1.
2.
3.
  if (!DisableExplicitGC) {
    Universe::heap()->collect(GCCause::_java_lang_system_gc);
  }


Совершенно зря юродствуете. Код, что вы привели всего-лишь передает информацию сборщику мусора, что кто-то вызвал System.gc(), а тому в свою очередь ничего не мешает это проигнорировать или, к примеру, не выполнять Full GC.

g1CollectedHeap.cpp
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
bool G1CollectedHeap::should_do_concurrent_full_gc(GCCause::Cause cause) {
  switch (cause) {
    case GCCause::_gc_locker:               return GCLockerInvokesConcurrent;
    case GCCause::_java_lang_system_gc:     return ExplicitGCInvokesConcurrent;
    case GCCause::_g1_humongous_allocation: return true;
    case GCCause::_update_allocation_context_stats_inc: return true;
    default:                                return false;
  }
}



cmsHeap.cpp
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
bool CMSHeap::should_do_concurrent_full_gc(GCCause::Cause cause) {
  switch (cause) {
    case GCCause::_gc_locker:           return GCLockerInvokesConcurrent;
    case GCCause::_java_lang_system_gc:
    case GCCause::_dcmd_gc_run:         return ExplicitGCInvokesConcurrent;
    default:                            return false;
  }
}



т.е. крутилок там несколько, а не одна в виде -XX:+DisableExplicitGC
...
Рейтинг: 0 / 0
Сборка мусора
    #39813199
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevПлохая цитата. Плохая книга.

странно, несколько тысяч человек с вами не согласятся)
...
Рейтинг: 0 / 0
Сборка мусора
    #39813303
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevА этого мало? )))

Ключ и - я думал, ещё есть :)

Leonid KudryavtsevПросто мне кажется, что по ходу дискуссии идея "что в зависимости от настроек и используемого GC, System.GC() МОЖЕТ игнорироваться" трансформировалась в "код System.GC() выглядит примерно так":
Код: sql
1.
2.
3.
4.
5.
if random() {
  ВЫЗВАТЬ_ЭТОТ_ЧЕРТОВ_GC();
} else {
  пощли_все_лесом()
}




Никакого рандома.
Скорее так: есть накоторое число, харрактеризущее "нужность полной сборки". Например от 0 до 100. При 90 fullGC запуститься автоматически. При 30 и прямой вызов не поможет. Все числа от балды.
...
Рейтинг: 0 / 0
44 сообщений из 44, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Сборка мусора
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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