Если у меня есть следующий код:
public class Foo {
private Object obj = new Object();
public void bar() {
final Object obj2 = new Object();
}
}
Правильно ли я заявляю, что при создании нового экземпляра Foo
будет создан объект, именуемый obj
?
Кроме того, будет ли объект, указанный как obj2
, загружаться только
JVM, когда метод bar
помещается в стек
(Вызывается)
- Наконец, локальные переменные живут в стеке, и я тоже правильно
говоря, что
obj2
будет жить в стеке, в то время как объект, на который он ссылается
жить в куче?