Sobes.tech
Junior

Šta se dešava pri korišćenju sintakse String s1 = "asd"?

sobes.tech АИ

Одговор од АИ

Kada koristite sintaksu String s1 = "asd";, događa se sledeće:

  1. JVM proverava bazen nizova (String Pool - posebna oblast memorije u hrpi) da li već postoji literal niza "asd".
  2. Ako "asd" već postoji u bazenu nizova, promenljiva s1 se odnosi na postojeći objekat u bazenu.
  3. Ako "asd" nije u bazenu nizova, tada:
    • Kreira se novi objekat String sa vrednošću "asd" u bazenu.
    • Promenljiva s1 se odnosi na taj novi objekat.

Ovaj mehanizam se naziva internovanje nizova (String Interning) i pomaže u uštedi memorije izbegavajući kreiranje duplikata istih literala nizova.