Ответ
Статические методы хранятся в области метаданных класса (Method Area), которая в современных JVM (начиная с Java 8) называется Metaspace. Эта область содержит:
- Байт-код всех методов класса.
- Структуры данных, описывающие класс (имя, модификаторы, сигнатуры методов).
- Константы времени выполнения (Runtime Constant Pool).
Пример класса:
public class MathUtils {
public static int add(int a, int b) {
return a + b;
}
}
Байт-код метода add и его метаданные размещаются в Metaspace после загрузки класса MathUtils.
Важно: Статические переменные (не методы) хранятся в Heap, в специальной структуре, связанной с объектом класса Class.