Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
{class S { } class C extends S {long a,b;} mem("0+2", new C());} // 0+2: 32
{class S {long a,b;} class C extends S {long a,b;} mem("2+2", new C());} // 2+2: 48
указывает, что сначала был вызван метод premain класса-агента, а затем — метод main исполняемого класса.
Хозяйке на заметку: если не хочется возиться с -javaagent и сложным запуском, то при помощи библиотеки https://github.com/electronicarts/ea-agent-loader можно агента подключать прямо из main(), но когда необходимые классы еще не загружены. Библиотека использует специальный JMX интерфейс OpenJDK.
Размеры Java-объектов разного типа