2015-05-27 2 views
0

В блоге я нахожу предложение: когда размер Eden растет, время Minor GC уменьшится. Но, по-моему, когда Eden становится больше, число объектов, связанных с корнем GC, также растет, тогда поведение копии будет более частым, что приведет к более длительному периоду Minor GC. Так может кто-нибудь объяснить это, thx ~Почему размер Eden растет в то время, когда сокращается минимальное время GC?

+0

Целью младшего GC является очистка свежего мусора в пространстве Эдена. Так что больше работы! –

ответ

0

Время между двумя второстепенными GC определяется временем, затрачиваемым на заполнение пространства Eden новыми объектами - так что-то вроде (eden-size)/(object-creation-rate) , Таким образом, чем больше Eden, тем больше времени проходит между двумя циклами GC, и у большего количества объектов есть время, чтобы умереть молодым.

С другой стороны, время, используемое копировальным аппаратом, не зависит от количества собираемого мусора, но зависит только от количества живых объектов, подлежащих копированию. Наличие большего количества объектов в то время как все еще в пространстве Эдена означает, что меньше объектов для копирования в пространство выживания и, следовательно, меньше времени, затрачиваемого на младшие GC.

+0

спасибо за ур отличный ответ, который поможет мне лучше понять! – AlexYoung

Смежные вопросы