Найти тему
DEBAGanov

Java 436. Сколько объектов будет создано в следующем коде и где они будут храниться?

Рассмотрим следующий код:

String str1 = "Hello";
String str2 = new String("Hello");

В данном коде будет создано два объекта класса String.

Первый объект "Hello" будет создан в момент компиляции кода и будет храниться в пуле строк (string pool) в куче (heap).

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

Таким образом, в этом коде будет созданы два объекта класса String, один из которых будет храниться в пуле строк, а другой - в куче.

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov