Проверка исходного кода OpenJDK 1.6 для psScavenge.cpp (= -XX:+UseParallelGC
= сборщик пропускной способности), мы находим
if (AlwaysTenure) {
_tenuring_threshold = 0;
} else if (NeverTenure) {
_tenuring_threshold = markOopDesc::max_age + 1;
} else {
// We want to smooth out our startup times for the AdaptiveSizePolicy
_tenuring_threshold = (UseAdaptiveSizePolicy) ? InitialTenuringThreshold :
MaxTenuringThreshold;
}
В этом случае (OpenJDK 1.6) MaxTenuringThreshold
не используется только при активации -XX:+UseAdaptiveSizePolicy
. Затем вместо этого используется начальное значение по умолчанию 7 .
ИМХО, предложение, выделенное жирным шрифтом, означает, что JDK 1.4.2 будет использовать максимальное значение по умолчанию / вычисленное значение, чтобы определить, когда следует продвигать молодые объекты.
Если вы хотите проверить значения, вы можете использовать -XX:+PrintTenuringDistribution
Desired survivor size 48286924 bytes, new threshold 10 (max 10)
- age 1: 28992024 bytes, 28992024 total
- age 2: 1366864 bytes, 30358888 total
- age 3: 1425912 bytes, 31784800 total