Встречается на собеседованиях • сегодня

Как связаны данные в памяти JVM

В JVM данные хранятся в разных областях памяти, связанных между собой:

  1. Heap - основное хранилище объектов. Ссылки на объекты хранятся в стеке или других объектах.
  2. Stack - содержит фреймы методов с локальными переменными и ссылками на объекты в куче.
  3. Method Area - хранит метаданные классов, статические переменные.
  4. PC Register & Native Method Stack - для выполнения потоков.

Пример связи:

java
class Person {
    String name; // ссылка в куче
    static int count; // в Method Area
}

void foo() {
    Person p = new Person(); // p - в стеке, объект - в куче
    p.name = "Alice"; // строка в String Pool (куча)
}

Связи реализованы через ссылки. Объекты в куче могут ссылаться друг на друга, образуя граф. JVM отслеживает эти связи для сборки мусора.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы