Этот вопрос ограничен поколениями HotSpot . Есть ли способ программно узнать, в каком поколении живет тот или иной экземпляр. Данные, такие как:
- Молодое или старое поколение?
- Если молодой, какой выживший космос?
- Внутри TLAB? Какая нить?
Любая техника (например, BTrace , JVMTI ) работает до тех пор, пока я могу сделать что-то вроде этого:
Object x = new Object();
HotSpotGenerationInfo info = HotSpotGenerationUtil.getInfo(x);
Нищие не могут быть селекторами, но в идеале я мог бы также узнать, когда интересующий объект перемещался из одного поколения в другое в момент, когда это происходит (т. Е. На основе обратного вызова события - не заинтересован задержка и накладные расходы, подразумеваемые при опросе.)
Не заинтересованы в ответах, которые просто говорят "нет" без обоснования :)