Что такое инструкция callq?

Строковые литералы войдут в String Constant Pool.

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

enter image description here [/g3]


Создание объектов по строкам:

String str1 = new String("java5");

Используя строковый литерал «java5» в конструкторе, новое строковое значение сохраняется в пуле строковых констант. Используя новый оператор, в куче создается новый строковый объект с «java5» в качестве значения.

String str2 = "java5"

Ссылка «str2» указана на уже сохраненное значение в пуле константных строк

String str3 = new String(str2);

В куче создается новый строковый объект с тем же значением, что и ссылка на «str2»

String str4 = "java5";

Ссылка «str4» указана на уже сохраненное значение в пуле константных строк

Всего объектов: куча - 2, пул - 1

Дальнейшее чтение сообщества Oracle

25
задан Peter Cordes 15 October 2017 в 09:20
поделиться