Я не думаю, что существует такая вещь, как синтетические ссылки на внутренний класс.Я думаю, что профилировщик говорит о ссылках из внутренних классов на включающие их классы.Они создаются, когда у вас есть такой код:
class Outer {
class Inner {
}
}
В приведенном выше коде каждый экземпляр Inner
имеет экземпляр Outer
, связанный с ним.Ассоциация поддерживается через скрытое синтетическое поле члена Inner
, которое содержит ссылку на Outer
.
Если бы код был изменен следующим образом:
class Outer {
static class Inner {
}
}
не было бытакая синтетическая ссылка.