Назрел тут такой вопрос по поводу того как вообще оператор new взаимодействует с памятью , как вычисляет нужный объем памяти и где она хранится ? И хранит ли переменная созданная при помощи new ссылку на ячейку в памяти где зарезирвирован сам объект класса ? И есть ли какие-нибудь подводные камни у этого оператора ?
Непонятен ваш уровень, а соответственно требуемая подробность ответа. Обычно, задающиеся подобными вопросами, сами способны прочитать спецификацию JVM.
Сергей Горностаев, Я просто глупый джун который хочет прочитать ответ человека который действительно разбирается , не более ,и сверить с тем как я себе представляю работу того или иного оператора.
FreeD1, желание разобраться в деталях - это прекрасно, но я бы рекомендовал на этапе джунства делать упор на языке и парадигмах. Детали реализации платформы могут запутать.
Выделяется память в eden space по принципу стека. Поэтому сама аллокация происходит быстро. Когда eden переполняется - запускается процедура уборки и уплотнения GC. Физические адреса объектов при этом могут изменятся. После нескольких фаз уборки выжившие объекты перемещаются в PermGen/Metaspace как постоянные. Так примерно работает lifecycle для классического gc. В новых - не знаю. Могут быть нюансы.