Dimensione di oggetti enormi assegnati direttamente alla vecchia generazione

Recentemente ho letto sull’assegnazione di oggetti in diverse generazioni in Java. La maggior parte delle volte i nuovi oggetti sono allocati in Eden (parte di Young Generation) e quindi vengono promossi a Old Generation se viene soddisfatto uno dei seguenti criteri.

(1) L’età dell’object ha raggiunto la soglia di possesso
(2) Lo spazio del superstite (a) è pieno quando gli oggetti vengono copiati da Eden (o) da un altro spazio superstite (da)

Ma c’è anche un caso particolare in cui gli oggetti vengono allocati direttamente nella vecchia generazione invece di essere promossi dalla giovane generazione. Questo accade quando l’object che stiamo cercando di creare è enorme (probabilmente dell’ordine di pochi MB).


C’è un modo per conoscere la dimensione / limite degli oggetti enormi / giganteschi? Sono a conoscenza dei criteri degli oggetti giganteschi per G1 Garbage Collector. Voglio solo conoscere il limite di dimensioni prima o in Java 6 .

Grazie per il tuo tempo 🙂