Вызовы System.gc () базовыми API-интерфейсами

Некоторые из вас, вероятно, знают, что некоторые из основных API Java делают явные вызовы System.gc (). Я знаю два случая, когда это происходит:

  1. НИО. Я считаю, что это сделано для некоторой очистки прямых ByteBuffers, когда системе не хватает «прямой» памяти.
  2. RMI. Здесь причина для меня не так ясна ...

Итак, вопросы:

  1. Вы знаете причину, по которой System.gc () требуется для RMI?
  2. Вы знаете какие-либо другие ситуации, когда базовые API (или даже некоторые другие популярные библиотеки) могут напрямую вызывать System.gc ()?
12
задан Stas 4 August 2011 в 12:56
поделиться

1 ответ

Таким образом ища Ваш код приложения ‘System.gc () ’ представляют isn’t в виде строки достаточно, чтобы сказать, делает ли Ваше приложение System.gc () вызовами. Таким образом это ставит проблему: Как обнаружить, вызываются ли System.gc () вызовы в Вашей стопке целого приложения?

Это - то, куда журналы GC прибывают удобные. Включают журналы GC в Вашем приложении. На самом деле, it’s желательный для хранения журнала GC включил все время во всех рабочих серверах, поскольку он помогает Вам диагностировать и оптимизировать производительность приложения. Включение журналов GC добавляет незначительный (если вообще заметный) наверху. Теперь загрузите свой журнал GC на инструмент анализатора журнала Сборки "мусора" как GCeasy, HP JMeter, †¦. Эти инструменты генерируют богатый аналитический отчет о Сборке "мусора".

Чтение Больше здесь...

0
ответ дан 26 October 2019 в 15:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: