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

Недавние JVM 's имеет много параметров 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)

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