Sobes.tech
Назад к вопросам
Junior — Middle
54

В каком месте в памяти находятся статические переменные класса в Java?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

В Java статические переменные класса хранятся в области памяти, называемой "метаспейс" (Metaspace) начиная с Java 8. Ранее они находились в "PermGen" (Permanent Generation). Метаспейс — это часть памяти, выделенная для хранения метаданных классов, включая статические поля.

Когда класс загружается, его статические переменные размещаются в этой области, и они существуют в единственном экземпляре для всех объектов этого класса.

Пример:

public class Example {
    public static int counter = 0;

    public Example() {
        counter++;
    }
}

Здесь counter — статическая переменная, которая хранится в метаспейсе и общая для всех экземпляров класса Example.