Sobes.tech
Junior — Middle
93

À quel endroit de la mémoire une chaîne de caractères définie avec des guillemets dans le code est-elle généralement stockée?

Entreprises à qui on a demandé
Red Collar

Réponse de l'IA

sobes.tech IA

Строки, заданные в коде с помощью кавычек (литералы строк), в Java обычно сохраняются в специальном пуле строк — String Pool. Этот пул находится в области памяти, называемой метаспейсом (Metaspace) в современных версиях JVM (до Java 7 — в PermGen).

Пул строк позволяет JVM хранить только одну копию каждой уникальной строковой константы, что экономит память и ускоряет сравнение строк по ссылке.

Пример:

String s1 = "hello";
String s2 = "hello";
System.out.println(s1 == s2); // true, обе ссылки указывают на один объект в пуле строк

Таким образом, строка, заданная в коде, обычно хранится в пуле строк в метаспейсе JVM.