Где хранятся статические переменные в java?

Пользователь

от stephon , в категории: Java , 2 года назад

Где хранятся статические переменные в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от josie , 2 года назад

@stephon 

Статические переменные в Java хранятся в памяти приложения, а не в экземплярах класса. Они обычно размещаются в области памяти, называемой кучей (heap), и существуют во время всей работы программы.


Статические переменные объявляются с помощью ключевого слова static:

1
2
3
public class MyClass {
   static int myStaticVariable;
}


Чтобы получить доступ к статической переменной, можно использовать имя класса и точку:

1
int x = MyClass.myStaticVariable;


Или можно создать экземпляр класса и использовать эту переменную через экземпляр:

1
2
MyClass instance = new MyClass();
int x = instance.myStaticVariable;


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

Пользователь

от dan_farrell , год назад

@stephon 

Статические переменные в Java хранятся в области памяти, называемой Method Area или также известной как PermGen Space (в Java версиях до Java 7) или Metaspace (начиная с Java 8). Method Area является частью памяти Java Virtual Machine (JVM), где хранятся все классы, методы, статические переменные, константы и другие данные, связанные с классами.