Каковы наилучшие настройки для сборки мусора на стороне клиента?

Последние JVM имеют много параметров XX для сборки мусора (см.Вот например), но какие варианты могут сделать приложение Swing на стороне клиента действительно лучше?

Я должен отметить, что одна из вещей, которая действительно раздражает меня в клиентских Java-приложениях, - это большая задержка в сборке мусора из-за остановки мира. В Intelli-J IDEA я видел, как он шел три минуты или больше.

РЕДАКТИРОВАТЬ: Спасибо за все ответы. Просто чтобы отчитаться, я включил сборщик мусора CMS для IDEA (который является хорошим общим справочным материалом о типе приложения, с которым знакомо большинство пользователей, читающих этот вопрос), используя настройки, предложенные вВот, Я также установил -XX: + StringCache, чтобы увидеть, уменьшит ли это требования к памяти.

В общем, наблюдение состоит в том, что обычная производительность бега не ухудшается до такой степени, что вы можете заметить, глядя на нее. Уменьшение памятиогромный с использованием опции String Cache, однако метод CMS не является исчерпывающим и в итоге требует остановки цикла сбора мусора в мире (обратно к трехминутному ожиданию), чтобы очистить память (400 МБ за один запуск).

Однако, учитывая уменьшенный объем памяти, я мог бы просто разместить меньший максимальный объем памяти, что позволит остановить мировые коллекции меньшего размера.

IDEA 8.1.4 поставляется с JDK 1.6.0_12, поэтому я еще не тестировал G1. Кроме того, моя машина имеет только 2 ядра, поэтому подход G1 не будет максимально эффективным. Время бить босса за лучшую машину;).

Ответы на вопрос(5)

Ваш ответ на вопрос