это может использоваться внутри некоторого метода или конструктора.
Возвращает ссылку на текущий объект.
На JVM Sun можно использовать опцию-XX:UseConcMarkSweepGC, чтобы включить Параллельную метку и развернуть Коллектор, который избежит "остановки мировые" фазы алгоритма GC по умолчанию почти полностью, за счет немного больше служебного.
советование для использования больше, чем на VM на такой машине, по моему скромному мнению, устарело. В приложениях реального мира Вы часто достаточно обменивались данными так, чтобы производительность с CMS и одной JVM была лучше.
Вопрос: Вы хотите работать в рамках единственного процесса (JVM) или нет? Если Вы делаете, то Вы собираетесь иметь проблему. Обратитесь к Настраивающиеся виртуальные машины Java , Руководство пользователя Когерентности Oracle и подобная документация. Эмпирическое правило, которым я действовал, стараются избегать "кучи", больше, чем 1 ГБ. Принимая во внимание, что 512MB-1GB полный GC мог бы взять меньше, чем секунда. 2-4GB полный GC мог потенциально занять 5 секунд или дольше. Obvioiusly это зависит от многих факторов, но мораль истории - то, что GC наверху не масштабируется линейно и после того как Вы входите в одну вторую производительность диапазона затем, ухудшается быстро.
JVM Sun позволяет Вам настраивать и оптимизировать heck из сборки "мусора", но это - наука к себе: http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html
Вам, возможно, придется сделать некоторое чтение и исследование, но для такой машины, вероятно, имеют большое значение настройки GC, оптимизированные для машины и приложения.
С тех пор 5.0 Горячая точка использование JVM понятие знают как Ergonomics, чтобы попытаться оптимизировать использование памяти. Это основано на больше, чем просто чистый доступный объем памяти и размеры "кучи" эффектов, размеры поколения и алгоритмы сборки "мусора".
Запускаются при наличии чтения этого, которое объясняет Ergonomics и больше:
http://java.sun.com/j2se/reference/whitepapers/memorymanagement_whitepaper.pdf
существует также парень по имени Brian Goetz, это написало многочисленные статьи о том, как Java выделяет и использует память, все из которых и больше может быть найдено здесь:
Это нисколько не отвечает на Ваш вопрос, но если Вы планируете, действительно развертывают огромное приложение Java, Вы могли бы интересоваться изучением устройства Azul Systems . Они говорят, чтобы смочь собрать "мусор", не создавая паузу в приложении до единственной "кучи" на 670 ГБ.
Вы могли бы хотеть рассмотреть выполнение виртуального Терракота кластер на этой машине.
Единственные люди, которые могут действительно сказать Вам, являются SGI. Супер компьютеры не ведут себя как обычные серверы, только более крупные.
Однако я нашел, что Java работает лучше всего, когда память локальна для процессоров, получающих доступ к нему.Примечание: GC должен быть в состоянии обойти целую память вплотную. Это означает, что не масштабируется хорошо, если у Вас есть дизайн, который похож на большое количество компьютеров, склеенных, который может иметь место здесь. Размер модуля памяти составляет 32 ГБ, таким образом, можно получить лучшую производительность при ограничении JVM для удобного вписывания в этот размер.
Конечно, ответ относительно того, как попытка GC работать, "кто заботится?" ;-)